【发布时间】:2015-04-24 13:37:40
【问题描述】:
所以,我想在 iframe 中触发一个事件,例如:
$('body').trigger('my_event');
我想在包含 iframe 的主页上绑定此事件:
$('iframe').find('body').bind('my_event', function()
{
console.log('My event !');
}
但这不起作用。但是,我可以将事件从 iframe 触发到父正文。所以我有(在我的 iframe 中):
$(top).find('body').trigger('my_event');
在我的主页中:
$('body').bind('my_event', function()
{
console.log('My event !');
}
这很好用。 为什么?
是的,我确实知道跨域策略。我的主页和 iframe 都来自同一个域。
谢谢!
【问题讨论】:
-
原因:因为事件不会神奇地越出文档,它们在……中发生(或被触发)
-
由于我的第二个示例确实有效,我猜事件可以“越界”出文档?
-
不,因为您在父文档的范围内明确触发它。 (正如您所说,您不会触发它“到”父主体,而是on。)
-
mm.. 好的,这是有道理的。谢谢。 :)
-
试试
$('iframe').contents() ...。
标签: javascript jquery html iframe