将`click`事件添加到`iframe`的`iframe`的子节点 - 不是woking

时间:2016-09-27 14:00:13

标签: javascript jquery html iframe

我正在尝试将click事件添加到嵌套在iframe iframe内的元素之一。

这下面是一个iframe .ssueContentIframe,还有另一个iframe添加为#SmartReportTabContent1所以在第二个iframe元素中,我正在尝试添加这样的点击事件:< / p>

基本上,我不知道何时加载iframe并且所有元素都可用,以备将来添加:

$('.ssueContentIframe').contents().find( '#SmartReportTabContent1' ).find('.ui-grid-selection-row-header-buttons.ui-grid-icon-ok.ui-grid-row-selected').on('click', function(){
             alert('Hi');
         });

但不行。等到iframe存在并将click事件添加到其中一个元素的正确方法是什么?

提前致谢!

2 个答案:

答案 0 :(得分:0)

您还需要在第二个iframe上使用“内容”。要等待加载,您可以在第二个iframe上使用“就绪”事件。

例如:

$("#SmartReportTabContent1").find("iframe").ready(function (){
    // do something once the iframe is loaded
});

<强>更新

参考this问题

答案 1 :(得分:0)

我编辑它,首先加载第一个iframe并检查它是否加载好,然后单击该元素执行该功能。

$(function(){
    $('#foo1').load(function(){
        alert("Loaded");
            $('#foo1').contents().find('iframe').contents().find('#test').on('click', function(event) {
                alert("Working");
            });
    });
});

我在我的电脑上进行了测试并且工作得很好,请记住addind the library,如果你没有添加一个它不会工作的库。

只需更改我用于ID的ID。