请问老师关于事件周期的问题

请问老师关于事件周期的问题

当一个元素在页面上被鼠标点击了之后,就会触发事件冒泡和事件捕获,即使这个被点击的元素并没有被绑定点击的事件,但是在页面上因为这个元素被鼠标点击了,所以产生了跟浏览器之间的交互,这时便会开始第一个阶段也就是捕获阶段:从被点击的这个元素的第一个直系亲属元素开始依次往下判断,只要找到一个绑定了点击事件的直系亲属元素那便执行这个绑定的事件。注意:这个直系亲属元素绑定事件的第三个参数要为true。直到所有符合条件的直系亲属元素都被执行完了,便结束捕获阶段的寻找。 接着开始冒泡阶段的寻找: 从这个被点击的元素为起点,依次往上寻找,注意:这时绑定事件的第三个参数要为false。执行完所有冒泡阶段,整个事件周期就结束了。 老师理解的有问题吗? 另外 视频中的例子,如果ul的第三个参数设为true,按照我的理解那应该比false更快地执行到,因为捕获阶段会早于冒泡阶段先执行。

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,你的理解、和总结是正确的。

继续加油,祝学习愉快~

  • 老师,是不是一个元素被点击后就可以执行捕获和冒泡行为,当它的捕获阶段结束后就开始冒泡?
    2020-10-25 10:49:43
  • 捕获是往这个元素的子元素及后代直系元素捕获,冒泡是往这个元素的父元素及前代直系元素冒泡是这个意思吗?
    2020-10-25 10:53:51
  • 你好,可以参考上面的回答。
    2020-10-25 14:12:53
好帮手慕星星 2020-10-25 14:12:38

同学你好,问题解答如下:

1、元素被点击后就会有捕获和冒泡行为,当它的捕获阶段结束后就开始冒泡,理解没问题

2、捕获理解有问题,应该是从document捕获到触发元素后停止,而不是往这个元素的子元素及后代直系元素捕获。冒泡理解的没有问题。

祝学习愉快!

提问者 粉墨登场 2020-09-26 17:38:29

老师再补充一点:捕获阶段结束的要求是被点击的这个元素是从上往下依次寻找时的最后一个元素为止

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师