JavaScript 事件冒泡和捕獲是描述事件如何在 DOM(文檔對象模型)樹中傳播的兩種機制。它們的主要特點如下:
addEventListener
方法的第三個參數(capture
)來指定事件處理函數在冒泡階段之前(捕獲階段)執行。event.stopPropagation()
阻止冒泡:通過調用事件對象的 stopPropagation
方法,你可以阻止事件繼續向上冒泡到父元素。addEventListener
的第三個參數來指定事件處理函數在捕獲階段執行。event.stopPropagation()
阻止捕獲:雖然事件是從根元素向下捕獲的,但 event.stopPropagation()
方法同樣可以阻止事件繼續傳播。需要注意的是,在捕獲階段停止事件傳播并不會阻止冒泡階段的傳播。總的來說,事件冒泡和捕獲提供了兩種不同的機制來處理 DOM 樹中的事件。你可以根據具體的需求和場景選擇使用哪種機制,或者同時使用兩者來實現更復雜的事件處理邏輯。