[英]How to add click event to the dynamic element of an iframe?
我通過使用innerHTML將一些html元素添加到iframe中,如下所示
var iframe = document.getElementById('composer_frame'), iframedoc = iframe.contentDocument || iframe.contentWindow.document;
iframedoc.body.innerHTML = "<a id='myAnch'>Click</a>";
並且我想編寫一個應通過單擊錨點“ #myAnch”將其刪除的函數
嘗試這個:
$("#composer_frame").contents().find("#myAnch").on('click',function(){
//do stuff
});
您可以為這樣的元素編寫函數
$('#myAnch', iframedoc).click(function() {console.log("a");})
但是您應該將此代碼放在父html頁面上。
說明:-由於您試圖在iframe中動態創建的元素上添加事件,因此您必須通過父引用將其綁定。
這意味着基於父元素嘗試找出動態添加的元素,然后在其上添加事件。(因為jQuery無法直接識別動態添加的元素)
因此,如下所示:-
$("#composer_frame").contents().find('#myAnch').on("click", function (e) {
e.preventDefault();
alert('clicked');
});
工作片段:-https: //jsfiddle.net/sycf9nz6/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.