事件冒泡 (Event Bubbling) 和 事件捕获 (Event Capturing) 是 JavaScript 中处理 DOM 事件流(Event Flow)的两种机制。它们描述了当你在页面上触发一个事件(例如点击一个按钮)时,这个事件如何在 DOM 树的元素之间传递。 为了理解这两个概念,首先要明白 DOM 是树状结构的。当你点击一个子元素时,你实际上也点击了它的父元素、祖父元素,直到 对象。 --- 1. 核心概念 事件捕获 (Capturing) —— “从上往下” 方向: 从 DOM 树的根节点(Root)向目标元素(Target)传播。 过程: 事件首先被最外层的元素(如 或 )捕获,然后一层层向下传递,直到到达实际触发事件的目标元素。 比喻: 就像公司老板下达命令,先经过经理,再经过组长,最后传达到具体的员工。 事件冒泡 (Bubbling) —— “从下往上” 方向: 从目标元素(Target)向 DOM 树的根节点(Root)传播。 过程: 事件先在目标元素上触发,然后像水里的气泡一样,一层层向上冒,触发父元素、祖父元素的同类型事件,直到 。 比喻: 就像...