iframe里面的元素触发父窗口元素事件的jquery代码
作者:bea
例如父窗口定义了一个事件。 top: $(dom1).bind('topEvent', function(){}); 那么iframe里面的元素怎样触发父窗口dom1的事件呢?这样吗? $(dom1, parent.document).trigger('topEvent'); 看似正确,实则误导人。 因为父窗口的jquery对象与iframe里面的jquery对象实际为两个对象(function),iframe里面的jquery并不会触发另一个jquery对象定义的事件。除非
例如父窗口定义了一个事件。
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就行了,这样很环保。
有用 | 无用
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就行了,这样很环保。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- Javascript 数组排序详解
- Javascript中arguments对象详解
- Javascript中的默认参数详解
- js style动态设置table高度
- js读写json文件实例代码
- 一个JavaScript防止表单重复提交的实例
- javascript Deferred和递归次数限制实例
- JQuery的Ajax中Post方法传递中文出现乱码的解决方法
- jquery中post方法用法实例
- js调试工具Console命令详解
- JS中FRAME的操作问题实例分析
- 用Jquery.load载入页面后样式没了页面混乱的解决方法
- Javascript+CSS实现影像卷帘效果思路及代码
- 利用jquery操作Radio方法小结
- 利用a标签自动解析URL分析网址实例
- JavaScript严格模式禁用With语句的原因
- jquery中页面Ajax方法$.load的功能使用介绍
- JavaScript字符串处理(String对象)详解
- JavaScript sup方法入门实例(把字符串显示为上标)