我使用的innerHTML像下面如何将点击事件添加到iframe的动态元素?
var iframe = document.getElementById('composer_frame'), iframedoc = iframe.contentDocument || iframe.contentWindow.document;
iframedoc.body.innerHTML = "<a id='myAnch'>Click</a>";
和我想写这应该通过点击锚“#myAnch”
我使用的innerHTML像下面如何将点击事件添加到iframe的动态元素?
var iframe = document.getElementById('composer_frame'), iframedoc = iframe.contentDocument || iframe.contentWindow.document;
iframedoc.body.innerHTML = "<a id='myAnch'>Click</a>";
和我想写这应该通过点击锚“#myAnch”
被exicute功能加入一些HTML元素的iframe说明: - 由于您正尝试在iframe中的动态创建的元素上添加事件,因此您必须通过父引用来绑定它。
,基于父元素手段试图寻找出动态添加的元素,然后在其上添加事件(如jQuery的din't直接识别动态添加元素)
所以做象下面这样: - 。
$("#composer_frame").contents().find('#myAnch').on("click", function (e) {
e.preventDefault();
alert('clicked');
});
工作片段: - https://jsfiddle.net/sycf9nz6/
thanks @Alive to死,你救了我的命;) –
@GlenDavidson很高兴帮助你的朋友:) :) –
也谢谢你@jeffreyrampineda :) –
试试这个:
$("#composer_frame").contents().find("#myAnch").on('click',function(){
//do stuff
});
你可以写功能元素这样
$('#myAnch', iframedoc).click(function() {console.log("a");})
,但你应该把父HTML页面上此代码。
[将事件添加到iframe中动态添加的元素](https://stackoverflow.com/questions/19897028/add-event-to-element-dynamically-added-inside-iframe) –