JS DOM事件流

JS事件传播机制

js事件流分为两个部分,事件捕获和事件冒泡部分,

  • 事件流:指从页面中接收事件的顺序,有冒泡流和捕获流。
    当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体顺序是怎样的呢?冒泡和捕获则描述了两种不同的顺序。

  • DOM2级事件规定事件流包括三个阶段,如图:
    JS DOM事件流
    从图中我们可以知道

1、一个完整的JS事件流是从window开始,最后回到window的一个过程

2、事件流被分为三个阶段(1- 5)捕获过程、(5-6)目标过程、(6-10)冒泡过程

3、在冒泡过程中6比7早触发。


添加事件绑定

addEventListener()
removeEventListener()
  • 所有DOM节点中都包含这两个方法,并且它们都接受3个参数:
  1. 要处理的事件名
  2. 作为事件处理程序的函数
  3. 一个布尔值
    true:表示在捕获阶段调用事件处理程序
    false:表示在冒泡阶段调用事件处理程序

document,documentElement和document.body三者之间的关系:

document代表的是整个html页面,

document.documentElement代表是的标签。

document.body代表的是标签


END