10

如何触发从 iframe 到其父元素的点击事件?

在打开 iframe 之前,我在父页面上尝试了以下代码。

jQuery('iframe').contents().bind('eventhandler', function() {               
                alert('event was fired');
        }); 

我也试过

jQuery(document).bind('eventhandler', function(e) {
alert('event was fired');
}); 

在 iframe 中,我将此代码嵌入到点击事件中

jQuery(document).trigger('eventhandler');                      

但它不起作用我在这里做错了吗?

4

2 回答 2

11

您需要从 iframe 中引用父文档。这应该做你需要的:

索引.html:

<iframe src="iframe.html"></iframe>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function(){
    $(document).on('eventhandler', function() {               
        alert('event was fired');
    });
}); 
</script>

iframe.html:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function(){
    parent.$(parent.document).trigger('eventhandler');  
});
</script>
于 2012-08-22T19:10:31.440 回答
1

如果您可以控制两者的来源,则可以这样做

iframe 和父站点之间如何通信?

于 2012-08-22T19:12:42.303 回答