事件处理的三个阶段

本文介绍了事件处理的三个核心阶段:事件捕获、目标阶段和事件冒泡。当事件发生时,首先从window开始,沿着DOM树向下传播到目标元素,然后在目标元素上触发事件,最后按照相反的顺序冒泡回window。理解这三个阶段对于优化JavaScript事件处理至关重要。
摘要由CSDN通过智能技术生成

事件处理的三个阶段

今天面试被问到这个问题,我听得一脸懵,啥三个阶段,我只知道触发事件,事件冒泡,别的还真不知道,上网搜索了一下,W3C的原文链接

The capture phase: The event object propagates through the target’s ancestors from the Window to the target’s parent. This phase is also known as the capturing phase.

The target phase: The event object arrives at the event object’s event target. This phase is also known as the at-target phase. If the event type indicates that the event doesn’t bubble, then the event object will halt after completion of this phase.

The bubble phase: The event object propagates through the target’s ancestors in reverse order, starting with the target’s parent and ending with the Window. This phase is also known as the bubbling phase.

简单来说事件处理分为三个阶段:

  1. 事件捕获阶段
  2. 事件响应阶段
  3. 事件冒泡阶段

事件发生时:

  1. 第一步由window发出事件对象通过目标元素的祖先节点传播
  2. 第二步在事件对象到达目标元素以后,事件触发
  3. 第三步在事件触发以后事件对象按与事件捕获阶段相反的方向传播(子->父->window)

PS:我发现我好像隐约有点印象,但是我给忘了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值