我试图在<iframe>
在父窗口中:
$(document).on('MyNameSpace.MyEvent', function() {
console.log('Event received in parent');
});
$(document).trigger('MyNameSpace.MyEvent');
在iframe中:
//test1
$(parent.document).on('MyNameSpace.MyEvent', someFunction);
//test2
parent.$(document).on('MyNameSpace.MyEvent', someFunction);
var someFunction = function() {
console.log('Event received in Iframe');
};
在父文档上触发事件时,上述两个测试都无法触发。控制台仅输出:
Event received in parent
如何实现理想的行为?
答案 0 :(得分:1)
尝试使用:
parent.$(parent.document).on('MyNameSpace.MyEvent', someFunction);
如果父支持jQuery,则上述解决方案有效。
从当前的iframe听父母,你必须使用'parent。$'。由于这是父iframe中的事件,因此您必须使用'parent.document'。