gpt4 book ai didi

javascript - 当父元素阻止冒泡时,点击事件不会被触发

转载 作者:行者123 更新时间:2023-11-29 20:18:32 26 4
gpt4 key购买 nike

我在一些现代浏览器中进行了测试,结果不一致。我确定它与捕获事件与冒泡事件支持差异有关。我已经设置了一个测试环境来在此处复制该问题:pastebin并使用 this service运行实时预览。

问题是这样的:有些浏览器会在祖先阻止冒泡时忽略anchor href点击事件。这没有意义,因为中间元素会在冒泡之前触发它的事件,但 anchor 元素不会。为什么 javascript click 事件有效而 href 事件无效?

这是按下“单击我”时的结果:

Chrome 9.0.597.98:忽略 href + 打印 inner 和 outter

IE 8.0.6001.19019:href 有效 + inner 和 outter 被打印

Firefox 3.6.13:忽略 href + 打印 inner 和 outter

所以我的最终问题是:当祖先元素阻止事件冒泡时,如何让 href 跨浏览器工作?任何见解将不胜感激。

编辑:

我只想指出,Pointy 的评论中仍在继续讨论,我还要感谢他的巨大帮助!

最佳答案

问题是不是

event.returnResult = false;

在 IE 中,它是:

event.returnValue = false;

链接在 IE 中通过,因为您没有正确地告诉浏览器不要采取默认操作。

如果您希望发生默认操作,则不要调用“.preventDefault()”并且不要将“returnValue”设置为false

关于javascript - 当父元素阻止冒泡时,点击事件不会被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5106827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com