Jquery 如何从iframe中触发单击事件到其父元素?
如何从iframe中触发单击事件到其父元素 在打开iframe之前,我在父页面上尝试了以下代码Jquery 如何从iframe中触发单击事件到其父元素?,jquery,Jquery,如何从iframe中触发单击事件到其父元素 在打开iframe之前,我在父页面上尝试了以下代码 jQuery('iframe').contents().bind('eventhandler', function() { alert('event was fired'); }); 我也试过了 jQuery(document).bind('eventhandler', function(e) { alert('even
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');
但是它不起作用。我在这里做错了什么吗?您需要从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>
$(函数(){
$(文档).on('eventhandler',function(){
警报(“事件已触发”);
});
});
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>
$(函数(){
父.$(parent.document).trigger('eventhandler');
});
如果您可以控制这两个版本的源代码,您可以这样做
ye,这是一个有效的方法!,我希望我不会在IE或Chrome上遇到任何问题,我还没有测试它。只有在Firefox上,如果您从服务器(apache或任何其他服务器)运行它,它应该可以在任何地方工作。唯一的问题是当iframe(以及iframe内容和jquery)将在父jquery之前加载时,不太可能发生的事件,但我假设您没有像我的示例中那样触发事件“onload:-)不,它工作得非常好。我在就绪状态下添加第一个事件,然后在iframe中单击并工作的按钮上添加第二个事件。thanx@tborychowski你救了我一天,兄弟:)非常感谢,我在chrome上测试了这个功能,它启动了,谢谢可能的副本