【高频考点精讲】JavaScript中的事件冒泡和捕获,90%的人都理解错了

JavaScript事件冒泡与捕获:90%的前端工程师都理解错了

🧑‍🏫 作者:全栈老李

📅 更新时间:2025 年 5 月

🧑‍💻 适合人群:前端初学者、进阶开发者

🚀 版权:本文由全栈老李原创,转载请注明出处。

大家好,我是全栈老李。今天咱们聊一个看似简单实则暗藏玄机的话题——JavaScript中的事件冒泡和捕获机制。说实话,我见过太多工作了3-5年的前端,对这个基础概念还是一知半解,面试时经常被问得支支吾吾。

事件流:从点击到响应的旅程

想象你在网页上点击一个按钮,这个点击动作可不是直接"啪"的一下就传到按钮上的。浏览器实际上经历了一个完整的"事件旅程"——这就是事件流。

事件流分为三个阶段:

  1. 捕获阶段:事件从window对象一路向下"潜行",直到找到目标元素
  2. 目标阶段:事件到达实际被点击的元素
  3. 冒泡阶段:事件从目标元素开始"冒泡"向上,直到回到window对象
// 全栈老李提示:这个示例展示了完整的事件流过程
document.getElementById('outer').addEventListener('click', function() {
   
  console.log('捕获阶段 - outer');
}, true); // 注意这里的true表示捕获阶段

document.getElementById('inner').addEventListener('click', function() {
   
  console.log('目标阶段 - inner');
}); // 默认是冒泡阶段

document.getElementById('outer').addEventListener('click', 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈老李技术面试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值