JavaScript 中的事件流描述了事件从页面中接收到的顺序。事件流包括两个阶段:捕获阶段和冒泡阶段。

事件捕获(Event Capturing):

事件捕获是指事件从顶层元素向下传播到最具体的元素的过程。在捕获阶段,事件首先在文档的顶层元素(如 window 对象)开始,然后沿着 DOM 树向下传播,直到达到触发事件的目标元素。

事件冒泡(Event Bubbling):

事件冒泡是指事件从目标元素开始,沿着 DOM 树向上传播到最顶层的元素的过程。在冒泡阶段,事件会从触发事件的目标元素开始,逐级向上传播,直到达到文档的顶层元素。

事件流程示意图:

|->   (Capture)    ->  |  (Target)  |  ->  (Bubble)  -> |
|  Top Element        |   Element   |       Window      |

简要说明:

  • 事件捕获阶段: 事件从最外层的元素开始传播,一直传递到触发事件的目标元素。
  • 事件冒泡阶段: 事件从触发事件的目标元素开始向上传播,一直传递到最外层的元素。

在实际使用中,可以通过 addEventListener 方法的第三个参数来控制事件的处理方式,比如指定 useCapture 参数为 true 表示使用捕获阶段处理事件,为 false 则表示使用冒泡阶段处理事件(默认为 false)。

element.addEventListener('click', eventHandler, useCapture);

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.