我通过使用innerHTML(如下面的
)向iframe添加一些html元素var iframe = document.getElementById('composer_frame'), iframedoc = iframe.contentDocument || iframe.contentWindow.document;
iframedoc.body.innerHTML = "<a id='myAnch'>Click</a>";
我希望通过点击锚点来编写一个应该是exicute的函数#34;#myAnch&#34;
答案 0 :(得分:1)
试试这个:
$("#composer_frame").contents().find("#myAnch").on('click',function(){
//do stuff
});
答案 1 :(得分:1)
你可以为这样的元素编写函数
$('#myAnch', iframedoc).click(function() {console.log("a");})
但你应该把这段代码放在父html页面上。
答案 2 :(得分:0)
说明: - 由于您尝试在iframe中的动态创建元素上添加事件,因此您必须通过父引用将其绑定。
这意味着基于父元素尝试找出动态添加的元素,然后在其上添加事件。(因为jQuery din直接识别动态添加的元素)
如下所示: -
$("#composer_frame").contents().find('#myAnch').on("click", function (e) {
e.preventDefault();
alert('clicked');
});
工作代码段: - https://jsfiddle.net/sycf9nz6/