我使用的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) –