Tengo una barra de herramientas personalizada que inserta un enlace en el editor de kendo. Estoy tratando de poner una función onClick en ese enlace, pero cuando se hace clic en el enlace insertado dinámicamente, dice que la función no está definida. También lo probé poniendo una clase en ese enlace y tengo una función de clic en esa clase, pero no se golpea.
Cualquier ayuda sería muy apreciada.
$("toolbarSubmitBtn").("click", function () { var value = $("toolbarInput").val(); var $html = '<a onClick="myFunction()"> Click to show alert </a>'; //var $html = '<a class="functioncall"> Click to show alert </a>'; var $empty = $("<div>").append($html) $("#editor").data("kendoEditor").paste($empty.html()); });Llamada de clase
$(document).on("click", ".functioncall", function () { alert("function called from class"); });Llamada de función
function myFunction() { alert("function called by click"); }Creo que el problema es que Kendo Editor coloca el contenido del cuerpo dentro de un IFRAME y su "myFunction" no está dentro de ese IFRAME. Intente configurar el onClick para
window.parent.myFunction(); $("#toolbarSubmitBtn").on("click", function () { var $html = '<a href="#" onClick="window.parent.myFunction();" contenteditable="false"> Click to show alert </a>'; $("#editor").data("kendoEditor").paste($html); }); Opcionalmente, configure contenteditable="false" en su enlace insertado para evitar que el usuario edite el texto del enlace.
Aquí hay una DEMO