-
事件流包含三个阶段
- 事件捕捉阶段:事件开始由顶层对象触发,然后逐级向下传播,直到目标元素;
- 处于目标阶段:处在绑定事件的元素上;
- 事件冒泡阶段:事件由具体的元素先接收,然后逐级向上传播,直到不具体的元素;
-
事件捕获是从上到下,而事件冒泡,是从下到上
JavaScript的事件流包括三个阶段,分别是捕获阶段(Capture Phase)、目标阶段(Target Phase)和冒泡阶段(Bubble Phase)。
-
捕获阶段(Capture Phase):事件从最外层的元素开始向内层元素进行传播,即从文档根节点一直传播到目标元素的父元素。在捕获阶段中,事件会依次经过每个祖先节点,直到达到目标元素的父元素。
-
目标阶段(Target Phase):事件到达目标元素本身。在目标阶段中,事件将在目标元素上触发,执行相应的事件处理程序。
-
冒泡阶段(Bubble Phase):事件从目标元素开始向外层元素进行传播,即从目标元素的父元素开始一直传播到文档根节点。在冒泡阶段中,事件会依次经过每个祖先节点,直到达到文档根节点。
事件流的三个阶段是按照从外到内的顺序进行传播的。在捕获阶段和冒泡阶段,可以通过事件处理程序来捕获或处理事件。通过事件流,可以方便地在DOM结构中的不同层次的元素上捕获和处理事件,实现事件的委托和事件冒泡等功能。