什么是",真正的);“在事件侦听器之后执行

What does " ,true);" after an event listener do?

本文关键字:事件 侦听器 执行 之后 quot 什么      更新时间:2023-09-26

我看到了这段代码:

window.addEventListener('keydown',function(e){
keyState[e.keyCode] = true;
},true);

我不明白",true);"这部分是什么意思。有人能解释一下它的用途吗?提前感谢!

来自MDN关于addEventListener的注释,即useCapture标志:

useCapture子> <可选>

一个布尔值,指示此类型的事件在被分派到其DOM树下的任何EventTarget之前将被分派到注册的侦听器。通过树向上冒泡的事件不会触发指定使用捕获的侦听器。事件冒泡和捕获是传播嵌套在另一个元素中的元素中发生的事件的两种方式,当两个元素都为该事件注册了句柄时。事件传播模式决定元素接收事件的顺序。

您可以在冒泡阶段或捕获阶段捕获事件。

window.addEventListener('keydown',function(e){
    keyState[e.keyCode] = true;
},true);

在您的代码片段中,trueuseCapture标志,这意味着我们指定捕获阶段。

下一个问题可能是什么是事件冒泡和捕获?