扫码关注官方订阅号
parent.html
son.html
son trigger
谢谢!
Dont
刚才搜索时发现的,也不错,兼容性可以MessengerJShttps://github.com/biqing/Mes...跨文档通信解决方案
$(function(){ $('#button').on('click', function(){ window.parent.$(window).trigger('dosomething'); }); });
事件是在父页面的jquery里定义的,要触发需要交由父页面的jquery来负责触发。
jquery源码太久没看了,找半天,没找到对应的内容来说明。
页面间通信可以使用 postMessage。
或者只在同一个页面绑定和处理事件。
$('#iframe').contents().find('#button').on("click", function(){ $(window).trigger('dosomething'); });
无法监听到的原因是因为父页面通过on方法执行事件绑定的时候,将事件回调函数注册在了父页面的jquery对象中。而子页面在执行trigger方法的时候只会寻找子页面的jquery对象中注册的事件回调,所以在事件触发后执行不了父页面注册的事件回调函数,因为在子页面的jquery对象里找不到。
两个jq, 两个环境, 确定没问题么?
------ 上面是原答案, 下面是我被举报以后的吐槽 -------
我想请问举报我的那个, 两个jq环境, 这是不是你无法触发事件的原因? 我这个回答有什么问题? 你举报的理由是啥?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
son.html
事件是在父页面的jquery里定义的,要触发需要交由父页面的jquery来负责触发。
jquery源码太久没看了,找半天,没找到对应的内容来说明。
页面间通信可以使用 postMessage。
或者只在同一个页面绑定和处理事件。
无法监听到的原因是因为父页面通过on方法执行事件绑定的时候,将事件回调函数注册在了父页面的jquery对象中。而子页面在执行trigger方法的时候只会寻找子页面的jquery对象中注册的事件回调,所以在事件触发后执行不了父页面注册的事件回调函数,因为在子页面的jquery对象里找不到。
两个jq, 两个环境, 确定没问题么?
------ 上面是原答案, 下面是我被举报以后的吐槽 -------
我想请问举报我的那个, 两个jq环境, 这是不是你无法触发事件的原因?
我这个回答有什么问题? 你举报的理由是啥?