事件流程
- 事件捕获
事件从最不精确的元素开始执行,一层层往下,直到最精确的元素。
点击最精确元素,如图:
需要注意的是,捕获事件的观察需要将dom2级绑定的第三个参数填写为true(默认为false——冒泡行为)。

let bigBox = document.getElementById("bigBox")
let box1 = document.getElementById("box1")
let box1_1 = document.getElementById("box1_1")
bigBox.addEventListener("click", function() {
console.log("bigBox")
}, true)
box1.addEventListener("click", () => {
console.log("box1")
}, true)
box1_1.addEventListener("click", () => {
console.log("box1_1")
}, true)
- 事件冒泡
事件从最精确的元素开始执行,一层层往上,直到最不精确的元素。
在最精确元素事件被执行的时候,是不区分捕获和冒泡的,而是按照绑定顺序执行。
点击最内方块,如图。

点击中间层(灰黑色方块),如图,此为冒泡。

阻止冒泡
e.stopPropagation();
本文深入探讨了事件捕获与事件冒泡两种事件传播机制,详细解释了事件如何从最不精确到最精确元素执行(捕获),再从最精确到最不精确元素返回(冒泡)。文章通过代码示例展示了如何使用addEventListener进行事件监听,并介绍了如何阻止事件冒泡。
1128

被折叠的 条评论
为什么被折叠?



