gpt4 book ai didi

javascript - onClick 优先于 javascript 中的 addEventListener?

转载 作者:数据小太阳 更新时间:2023-10-29 04:00:34 25 4
gpt4 key购买 nike

现在,我有一个事件监听器可以监听屏幕上的点击。屏幕上还有一个按钮。当我点击按钮时,事件监听器将在 onclick 之前执行。有没有办法让 onclick 具有更高的优先级?

<script>
document.body.addEventListener('click',function(){alert('1');}, false);

function clicked() {
alert('2');
}
</script>
<button onclick="clicked()">Click this</button>

单击按钮也会触发事件处理程序。当我单击按钮时,1 显示在 2 之前。我想要 2 先显示。

最佳答案

addEventListner 的第三个参数是 useCapture flag .如果将其设置为 true,则在事件向下 行进到 button 元素时将执行处理程序。但是,如果将其设置为 false,则事件冒泡时将触发处理程序:

  capture phase  | |  / \ bubbling up
-----------------| |--| |-----------------
| element1 | | | | |
| -------------| |--| |----------- |
| |element2 \ / | | | |
| -------------------------------- |
| W3C event model |
------------------------------------------

发件人:http://www.quirksmode.org/js/events_order.html#link4

在您的示例中,onclick 应该在 body 标记 上的点击处理程序之前执行。如果你想颠倒执行顺序,你应该在body捕获事件。

关于javascript - onClick 优先于 javascript 中的 addEventListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922682/

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