gpt4 book ai didi

javascript - 链接不会在具有带有 PreventDefault 的事件处理程序的元素内工作

转载 作者:行者123 更新时间:2023-11-28 01:09:33 25 4
gpt4 key购买 nike

假设我有这样的设置:

<div>
<a href="http://www.google.com/">hi</a>
</div>

由于某种原因,我必须在 div 上有一个调用了 PreventDefault() 的事件处理程序。在 Chrome(可能还有其他浏览器)中,这会破坏该 div 内的链接。我无法再左键单击它们,访问链接的唯一方法是右键单击并在新选项卡中打开。

我能想到的唯一解决方案是在这个jsfiddle中: http://jsfiddle.net/QB698/

但是这个解决方案看起来很糟糕。有没有更好的方法来解决这个问题,这样我就不必向可能位于带有 PreventDefault 处理程序的 div 中的每个链接添加事件?

谢谢。

最佳答案

我认为您可以在事件的捕获阶段stopPropagation点击事件。那么你就不必为每个子链接绑定(bind)点击事件:

document.getElementById("asd").addEventListener("click", function(e) {
e.stopPropagation();
}, true);

演示:http://jsfiddle.net/QB698/1/

关于javascript - 链接不会在具有带有 PreventDefault 的事件处理程序的元素内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642021/

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