gpt4 book ai didi

javascript - 如何停止javascript中的事件捕获?

转载 作者:行者123 更新时间:2023-12-01 00:47:23 24 4
gpt4 key购买 nike

我们可以使用event.stopPropagation()用于停止事件冒泡。我们可以使用相同的方法来停止事件捕获吗?

如果没有,我们怎样才能实现它?

最佳答案

如果监听器已添加到捕获阶段,而不是冒泡阶段,那么您可以使用相同的方法阻止事件捕获到子元素:event.stopPropagation()

例如,在此代码中,您将看到 #inner 的监听器永远不会被触发,因为 #outer 的监听器阻止事件向下传播:

document.querySelector('#outer').addEventListener(
'click',
function(event) {
console.log('propagation stopped');
event.stopPropagation();
},
true // Add listener to *capturing* phase
);

document.querySelector('#inner').addEventListener(
'click',
function(e) {
console.log('inner clicked');
}
);
<div id="outer">
outer
<div id="inner">
inner
</div>
</div>

关于javascript - 如何停止javascript中的事件捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52163574/

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