关于js事件流你搞懂了吗,加入学习吧

事件流

DOM事件流包括三个阶段:事件捕获阶段,目标阶段,事件冒泡阶段

由外到内会经历捕获阶段,目标阶段,冒泡阶段

当我们触发一个事件的时候(也就是有行为时比如点击等行为),不是立马找到我们触发的DOM然后执行事件函数;他是有一个过程

事件捕获:

首先我们触发一个dom的事件,浏览器并不知道是哪个dom触发的,所以他要一层层寻找,从window对象开始不断经过下级节点直到找到目标节点.

在事件到达目标节点之前的过程就是捕获阶段,然后所有经过的节点都会被捕获到,在事件冒泡阶段的时候所有被捕获到的DOM都会触发事件;

事件冒泡(从内到外)

当事件到达目标节点之后,会从目标节点开始沿着捕获的路线原路返回,触发所有经过的DOM的事件,所以只要是子元素触发事件了,他外面父元素都会触发这个事件,因此如果外面父元素真的有这个事件有事件函数,就会执行事件函数;

注意:事件委托利用的就是事件冒泡;

 

 

事件监听用addEventListener(type,listener,useCapture)实现,

1.type: 必须,String类型,事件类型
2.listener: 必须,函数体或者JS方法
3.useCapture: 可选,boolean类型。指定事件是否发生在捕获阶段。默认为false,事件发生在冒泡阶段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值