iframe里面的元素触发父窗口元素事件的jquery代码

如题所述

第1个回答  2020-02-05
  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就行了,这样很环保。
相似回答