JavaScript事件机制包含捕获、目标、冒泡三阶段:捕获从window向下至目标父级,目标阶段执行目标元素监听器,冒泡从目标向上传至window;默认addEventListener在冒泡阶段执行,设third参数为true可启用捕获。

JavaScript事件机制是指事件在DOM树中传播的完整过程,它不是简单地在某个元素上触发一次就结束,而是会按特定路径经过多个节点。这个机制由三个阶段组成:捕获阶段、目标阶段和冒泡阶段。
捕获阶段从最外层的window对象开始,逐级向下传递到目标元素(比如你点击的按钮),但不会进入目标元素本身;
目标阶段是事件真正到达触发源的时刻,在这个阶段执行目标元素上绑定的事件处理函数;
冒泡阶段则从目标元素开始,逐级向上传递回window,途中会经过所有父级元素。
默认情况下,addEventListener绑定的事件监听器都在冒泡阶段执行(第三个参数省略或为false)。若想在捕获阶段响应,需显式传入true。
如何区分并使用事件冒泡
事件冒泡是日常开发中最常用的部分,尤其适合处理结构重复、动态添加的元素。
立即学习“Java免费学习笔记(深入)”;
-
<li>点击子元素时,它的父级、祖父级等也会收到该事件(只要它们绑定了冒泡阶段的监听器)
<li>大多数原生事件(如
click、mousedown、keydown)都支持冒泡,但focus、blur、mouseenter/mouseleave等例外
常见用法示例:
标签: javascript java app 事件冒泡 win 表单提交 事件捕获 冒泡事件
还木有评论哦,快来抢沙发吧~