e.preventDefault();
可以防止冒泡,但是我们怎样才能防止捕获阶段进一步降低到儿童身上。
基本上,我的父元素和子元素都有点击事件,但是我想在用户点击孩子时触发父母而不是孩子的点击。
在以下示例中,当用户点击任何a
标记时,它不应将用户重定向到href页面,而应触发parentdiv
元素的点击事件
<div id='parentdiv'>
<a href="a.html"></a>
<a href="b.html"></a>
<a href="c.html"></a>
</div>
答案 0 :(得分:2)
据我了解,e.preventDefault()
会阻止默认行为(单击提交按钮时提交,单击链接时会跟随网址)。 e.stopPropagation()
阻止事件冒泡到其他听众,所以也许这就是你想要的那个。
[MDN]
答案 1 :(得分:0)
如果您只想让父母接收触摸事件,您可以添加
pointer-events: none
在css中为儿童元素。