[英]Links wont work inside element that have an event handler with preventDefault
说我有这样的设置:
<div>
<a href="http://www.google.com/">hi</a>
</div>
由于某种原因,我必须在div上有一个调用了preventDefault()的事件处理程序。 在Chrome(可能还有其他浏览器)中,这会断开该div中的链接。 我再也不能左键单击它们,唯一的链接链接方法是右键单击并在新选项卡中打开。
我能想到的唯一解决方案是在此jsfiddle中: http : //jsfiddle.net/QB698/
但是这种解决方案似乎太过分了。 有没有更好的方法来解决这个问题,所以我不必向可能在div中带有preventDefault处理程序的每个单个链接中添加事件?
谢谢。
我认为您可以在事件捕获阶段stopPropagation
click事件的传播 。 然后,您不必将click事件绑定到每个子链接:
document.getElementById("asd").addEventListener("click", function(e) {
e.stopPropagation();
}, true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.