3

根据 quirksmode,现代浏览器有一个捕获阶段和一个冒泡阶段。见这里。

如果我在事件处理程序中使用stopPropagation(通过布尔参数设置为任一阶段)它将如何工作?

它会双向工作吗?也就是说,如果我将它设置为捕获模式,它是否也会阻止冒泡阶段。反之亦然。

这是 W3 参考 ( stopPropagation )。

我正在对事件处理程序进行故障排除,并且需要准确了解其stopPropagation()功能。

4

1 回答 1

5

在捕获阶段停止传播将阻止进一步的处理程序运行,包括在冒泡阶段注册的处理程序。

W3C 关于事件流的文档说(强调我的):

本规范定义了三个事件阶段:捕获阶段目标阶段;和泡沫阶段。事件对象使用如下定义的部分传播路径以指定的顺序完成这些阶段。 如果某个阶段不受支持,或者事件对象的传播已停止,则必须跳过该阶段。例如,如果该 Event.bubbles属性设置为 false,则将跳过气泡阶段,如果Event.stopPropagation()在调度之前已调用,则必须跳过所有阶段

于 2013-08-26T12:43:06.903 回答