如何在iframe中触发click事件到其父元素?

时间:2012-08-22 18:55:22

标签: jquery

如何从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');                      

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

2 个答案:

答案 0 :(得分:10)

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

的index.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>

答案 1 :(得分:1)

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

How to communicate between iframe and the parent site?