簡體   English   中英

如何將點擊事件添加到iframe的動態元素中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM