dom事件传递

首先,事件流分为两种:1. 捕获 2. 冒泡

一、dom2级事件的触发过程(dom.addEventListener('click', function, false))

当我们给body下的div绑定一个点击事件时,事件触发流程如下

先是进入捕获过程,触发window的点击事件,如果没有绑定事件或者执行完就继续执行子节点中的点击事件。以此类推,触发document、body,最后再到div的事件。

然后就进入到了冒泡过程了。还是像捕获时的机制一样,只不过顺序换了过来。直到window的事件完成。

我们绑定事件函数的时候,是有选择事件的触发阶段的,false则为冒泡(默认),true则为捕获。所以事件只会在整个流程中触发一次。同时,dom2级事件多次绑定会叠加触发的函数,并不会覆盖之前的。(jquery同理)

二、dom0级事件(dom.onclick = function)

dom0级事件只能绑定唯一一个,多次绑定时则后面的覆盖前面的。同时dom0级的事件触发阶段只能在冒泡阶段。

 

以上是个人的理解,如果有错误的地方欢迎在下方评论交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值