JavaScript 事件冒泡和捕获是描述事件如何在 DOM(文档对象模型)树中传播的两种机制。它们的主要特点如下:
addEventListener
方法的第三个参数(capture
)来指定事件处理函数在冒泡阶段之前(捕获阶段)执行。event.stopPropagation()
阻止冒泡:通过调用事件对象的 stopPropagation
方法,你可以阻止事件继续向上冒泡到父元素。addEventListener
的第三个参数来指定事件处理函数在捕获阶段执行。event.stopPropagation()
阻止捕获:虽然事件是从根元素向下捕获的,但 event.stopPropagation()
方法同样可以阻止事件继续传播。需要注意的是,在捕获阶段停止事件传播并不会阻止冒泡阶段的传播。总的来说,事件冒泡和捕获提供了两种不同的机制来处理 DOM 树中的事件。你可以根据具体的需求和场景选择使用哪种机制,或者同时使用两者来实现更复杂的事件处理逻辑。