作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在上图中,父dom节点有其事件,子节点也有。
我可以在 Child 中使用 stopPropagation 来防止冒泡。
但在这种情况下,如果有太多 child ,就应该写太多 stopPropagation 。是否有在父节点上使用的函数可以阻止子节点冒泡?
最佳答案
听起来您希望避免执行父级事件处理程序在事件通过特定类型的子元素时所做的工作。在这种情况下,在父事件处理程序中,您可以使用 event.target
来确定事件是否通过匹配的子事件传递。
在半伪代码中:
theParentElement.addEventListener("the-event", function(e) {
for (var node = e.target; node && node != this; node = node.parentNode) {
if (isChildWeWantToFilterOut(node)) {
return;
}
}
// parent handler logic that you only want to run when the
// event didn't pass through a relevant child
}, false);
关于javascript - 如何在父dom上使用 "stopPropagation"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876406/
我是一名优秀的程序员,十分优秀!