Dom事件概述
tai-xiaodong 2022.2.2 饥人谷
什么是Dom事件
- 由于javaScript是一种轻量化的语言,所有宿主环境提供一些API来让js操作,从而实现一些功能
期中Dom就是浏览器提供的一种Api,主要用来操作网页的各种元素
- DOM结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素节点与根结点之间的路径传播,
路径所经过的结点都会收到该事件,这个传播过程可称为DOM事件。
- DOM同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。
两种事件流会触发DOM中的所有对象,从document对象开始,也在document对象结束。
捕获和冒泡
- W3C标准规定,浏览器需要同时支持捕获和冒泡两种调用顺序
- 首先按照从外到内(祖先元素 --> 父元素-->子元素 逐层深入)的顺序查看有没有事件监听,捕获在前
- 然后按照从内到外(子元素 --> 父元素 --> 祖先元素)的顺序来查看有没有事件监听,冒泡在后
- 有则调用相关函数并提供事件信息,无则跳过
- 开发者可以自己决定将监听函数放在捕获阶段还是冒泡阶段
使用方法
div.addEventListener('click',fn,bool)
target
target 就是用户操作的元素
currentTarget 就是程序员监听的元素
stopPropagation 阻止捕获和冒泡阶段中当前事件的进一步传播。