jquery:iframe里面的元素怎样触发父窗口元素的事件?

例如父窗口定义了一个事件。

top:

$(dom1).bind(‘topEvent‘, function(){});

那么iframe里面的元素怎样触发父窗口dom1的事件呢?这样吗?

$(dom1, parent.document).trigger(‘topEvent‘);

看似正确,实则误导人。

因为父窗口的jquery对象与iframe里面的jquery对象实际为两个对象(function),iframe里面的jquery并不会触发另一个jquery对象定义的事件。除非你在iframe这样定义了:

iframe:

self.$ = parent.$;

所以解决的方法很简单:

parent.$(dom1,parent.doucment).trigger(‘topEvent‘);

调用父jquery执行该事件就行了。

话说iframe应该不必再引进jquery文件的,与父窗口共用一个jquery就行了,这样很环保。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。