window.open打开子页面后,在子页面触发父页面绑定的事件, trigger方法触发不了

发布于 2022-09-01 16:03:18 字数 426 浏览 11 评论 0

有一个父页面a.html,给a页面的某个div元素绑定一个自定义事件,例如

$("#d1").bind("myEvent",function(){
alert("sssss");
});

在父页面使用trigger方法触发该事件都是正常的。
问题来了......
1、现在我用a页面的window.open方法打开了一个子页面,在子页面中找到父页面的那个div元素,并使用trigger方法触发上面绑定的自定义事件,但是始终触发不了。
$("#"+window.opener.document.getElementById("d1")).trigger("myEvent");

2、奇怪的是将上面事件只有换为click事件,在子页面中结果是可以触发的,其他js事件和自定义事件都触发不了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

森林迷了鹿 2022-09-08 16:03:18

window.opener.$("#d1")

单挑你×的.吻 2022-09-08 16:03:18

1)子页面和父页面是2个不同的context
2)$("#"+window.opener.document.getElementById("d1"))能查到DOM元素吗?
3)用原生的fireEvent/dispatchEvent方法试试手工触发事件

内心旳酸楚 2022-09-08 16:03:18

我刚刚也遇到了这个问题,不知道为什么,很苦恼

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文