javaScript事件的三個階段:捕獲階段 目標階段 冒泡階段
捕獲階段 概念:
事件從根節點流向目標節點,途中流經各個DOM節點,在各個節點上觸發捕獲事件,直到達到目標節點。
目標階段 概念:
事件到達目標節點時,就到了目標階段,事件在目標節點上被觸發
冒泡階段 概念:
事件在目標節點上觸發后,不會終止,一層層向上冒,回溯到根節點
addEventListener
attachEvent (IE 特有)
的第三個參數的作用,通過查文檔可以知,addEventListener的第三個參數是一個布爾類型
1、第三個參數是false:事件從里到外執行,這種效果叫事件冒泡
2、第三個參數是true:事件從里到外執行,執行順序顛倒過來了,這種效果叫做事件捕獲。
a. 事件從里到外執行,這種效果叫事件冒泡
b. 事件從里到外執行,執行順序顛倒過來了,這種效果叫做事件捕獲。
注意:事件發生的時候,要經過事件的三個階段,我們常常使用的是事件冒泡階段,而其他兩個階段不能人為干預。
小結:事件的三個階段
第一階段:捕獲階段
第二階段:目標階段(執行當前點擊的元素)
第三階段:冒泡階段
事件三個階段如下如
第一階段:捕獲階段

第二階段:目標階段(執行當前點擊的元素)
第三階段:冒泡階段

注意,注冊事件有三種,其中onclick、attachEvent沒有第三個參數,實際上我們無法通過onclick、attachEvent來干預事件的第一階段和第二階段,並且很多時候我們只關心事件的第三階段,即冒泡階段。
