我有两个 div 元素,inner
和 outer
。我仅以编程方式触发 inner
div 上的点击事件一次。但是日志显示事件处理程序在 inner
div 上被调用了两次。这是代码。你能帮忙理解为什么会这样吗?代码也托管在 codesandbox 上
const inner = document.querySelector(".inner");
const outer = document.querySelector(".outer");
function clk(event) {
console.log("click");
console.log(event.target);
}
inner.addEventListener("click", clk);
outer.addEventListener("click", clk);
inner.click();
<div class="outer" id="div1">
<div class="inner" id="div2"></div>
</div>
最佳答案
添加
event.stopPropagation()
到你的clk函数
关于javascript - 单击处理程序在同一元素上被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71885324/