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