要将事件处理函数注册到事件链的顶部,即确保它是第一个被触发的,可以使用 addEventListener
方法的第三个参数 options
,将 capture
属性设置为 true
。这将使事件在捕获阶段触发,而不是在冒泡阶段触发。
以下是如何实现的示例代码:
document.addEventListener("click", function(e) {
e.stopPropagation();
}, { capture: true });
解释
document.addEventListener("click", function(e) {...}, { capture: true });
:- 在
document
对象上添加一个click
事件监听器。 - 使用
capture: true
选项,使事件处理函数在捕获阶段触发。 - 在捕获阶段,事件会从根元素向目标元素传播,因此你的事件处理函数会在任何其他事件处理函数之前执行。
- 在
这样,点击事件的传播会在最早的阶段被捕获和停止,确保你的处理函数是第一个触发的。