Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Iframe事件到父级_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript Iframe事件到父级

Javascript Iframe事件到父级,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,所以,我想在我的iframe中触发一个事件,比如: $('body').trigger('my_event'); 我想在包含iframe的主页上绑定此事件: $('iframe').find('body').bind('my_event', function() { console.log('My event !'); } 但这是行不通的。但是,我可以从iframe到父实体触发事件。所以我(在我的iframe中): 在我的主页上: $('body').bind('my_event',

所以,我想在我的iframe中触发一个事件,比如:

$('body').trigger('my_event');
我想在包含iframe的主页上绑定此事件:

$('iframe').find('body').bind('my_event', function()
{
    console.log('My event !');
}
但这是行不通的。但是,我可以从iframe到父实体触发事件。所以我(在我的iframe中):

在我的主页上:

$('body').bind('my_event', function()
{
    console.log('My event !');
}
这很有效为什么?

是的,我确实知道跨域政策。我的主页和iframe都来自同一个域


谢谢

这可能是因为您引用
$('iframe').find('body')
时尚未加载它

尝试使用委托绑定,类似以下内容:

$(document).on('my_event', 'iframe body', function(e){
     console.log('My event !');
});
查看此项了解更多信息:

更新:

看起来父级不会从iframe捕获事件,除非它在其元素上被显式触发

例如,在iframe中:

parent.$(parent.document).trigger("my_event");
在父项中:

$(document).on('my_event', function(e){
      console.log('My event !');
});

谢谢你的主意,但不幸的是,它似乎不起作用(原因:因为事件不会神奇地超出它们在中发生(或触发)的文档……因为我的第二个示例确实有效,我猜事件可以“超出”文档?不,因为您在父文档的范围内显式触发它。(您不会触发它“到”)父体,正如您所说,但更详细地说。)mm..好的,这很有意义。谢谢:)尝试
$('iframe')。contents()…
$(document).on('my_event', function(e){
      console.log('My event !');
});