一道关于冒泡和捕获的题

牛客网有这么一道题


题目来源:牛客网

首先我知道 preventDefault()是阻止原始事件的触发,不会阻止事件的传播。
能阻止事件传播的是 stopPropagation()

但是,我疑惑的是:
为啥捕获阶段没有触发父元素的click事件先打印出1?

查了一下,原因是:

处理器 on 属性或使用 HTML 属性或者使用 addEventListener(event, handler) 添加的处理器,不知道捕获,它们只知道第 2 和第 3 阶段。

要在捕获阶段捕获事件,我们需要将 addEventListener 的第三个参数设置为 true。

最后一个参数是可选的,有两个可能的值:
如果为 false(默认值),则在冒泡阶段设置处理器。
如果为 true,则在捕获阶段设置处理器。

你可能感兴趣的:(一道关于冒泡和捕获的题)