DOM事件流包括三个阶段:
捕获阶段
目标阶段
冒泡阶段
首先发生的是事件捕获,为截获事件提供了机会。
然后是实际的目标接收到事件。
最后一个是冒泡阶段,在这个阶段对事件做出响应
事件发生时会在元素节点之间按照特定的顺序传播,这个传播的过程就是DOM事件流
简单的说:事件的传播过程即DOM事件流
图为事件流的全过程,从图中我们可以看出:
- 一个完整的事件流是从window开始,最后回到window的一个过程
- 事件流被分为3个阶段:1-5捕获阶段,5-6:目标阶段,6-10:冒泡阶段
提高内存和性能 – 事件委托
对 “事件处理程序过多” 问题的解决方案就是事件委托。事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理某一项类型的所有事件。例如,click事件会一直冒泡到window层次。也就是说,我们可以为整个页面指定一个onclick事件,而不必给每个可单击的元素分别添加事件