事件: 就是文档或浏览器窗口发生的特定的交互瞬间(就是用户或浏览器自身
执行的某种动作, 如 click move), 事件是浏览器和用户之间的桥梁.
事件流: 事件发生时会在元素节点与根节点之间按照特定的顺序传播, 路径所
过的节点都会受到该事件. 这个传播过程就是事件流.
两种事件流模型: 一种是事件捕获 (从叶到根) 和事件冒泡(从根到叶推荐使
事件冒泡)
事件流标准规定事件流包括三个阶段: 事件捕获阶段, 处于目标阶段, 事件冒泡
阶段.
事件捕获阶段: 实际触发目标在事件捕获阶段不会接受事件, 也就是从文档到实
际目标的前一个节点就结束了.
处于目标阶段: 事件在该目标上触发执行, 但事件会看出冒泡的一部分.
事件冒泡阶段: 事件又传回文档.
事件监听器 addEventListener 结束三个参数: addEventListener(event,fn,useCaption)
event 是 JS 事件, fn 是一个回调函数, useCaption 用户选择是事件捕获还是事件冒泡.
每个 dom 都有事件捕获和事件冒泡, 但也有阻止冒泡的方法就是 removeEventListener,removeEventListener 和 addEventListener 一样都有三个一样的参数分别是
event,fn,useCaption.
event 对象有很多方法和属性
bubbles 返回一个 Boolean 值判断是否是冒泡事件
cancelable 返回一个 Boolean 值是否取消事件的默认行为
currentTarget 事件处理程序当前正在处理事件的那个元素
detail 与事件相关的细节信息
preventDefault 取消事件默认行为, 如果 cancelable 值为 true. 则可以使用
这个方法.
target 事件的目标
来源: http://www.qdfuns.com/note/49226/b5534859c1ef845d4d7cb285ef0c1810.html