js學習(四) 事件的傳播(事件的捕獲和冒泡)

2021-10-17 19:50:41 字數 762 閱讀 6005

事件的傳播流程

事件的傳播:

關於事件的傳播,網景公司和微軟公司有不同的理解。

————微軟公司認為事件應該是由內向外傳播,也就是當事件觸發時,應該先觸發當前元素上的事件,然後再向當前元素的祖先元素上傳播,也就是說事件的執行應該在冒泡階段執行。

————網景公司認為事件應該是由外向內傳播,也就是當前事件觸發時,應該先觸發當前元素的最外層的祖先元素的事件,然後再向內傳播給後代元素。

————————————

w3c綜合了兩個公司的方案,將事件傳播分成三個階段:

(1)捕獲階段:在捕獲階段時從最外層的祖先元素向目標元素進行事件的捕獲,但預設此時不會觸發事件。

(2)目標階段:事件捕獲到目標元素,捕獲階段結束,開始在目標元素上觸發事件。

(3)冒泡階段:事件從目標元素向它的祖先元素傳遞,依次觸發祖先元素上的事件。

如果希望在捕獲階段就觸發事件,可以將addeventlistener()的第三個引數設定為true。一般情況下,不希望在捕獲階段觸發事件,所以這引數一般都是false。

————

注意:ie8及以下的瀏覽器中沒有捕獲階段

js中的事件捕獲和事件捕獲

事件流的三個階段 事件捕獲階段 目標階段 事件冒泡事件 關於這三個階段的介紹網上已經有很多介紹了,在這裡不做介紹。本文主要說下需要注意的一點 當在事發元素上即繫結了捕獲事件又繫結了冒泡事件時,事發元素上的執行順序由事件註冊順序決定。如 var p document.getelementbyid pa...

JS的事件冒泡和事件捕獲

先上結論 他們是描述事件觸發時序問題的術語。事件捕獲指的是從document到觸發事件的那個節點,即自上而下的去觸發事件。相反的,事件冒泡是自下而上的去觸發事件。繫結事件方法的第三個引數,就是控制事件觸發順序是否為事件捕獲。true,事件捕獲 false,事件冒泡。預設false,即事件冒泡。jqu...

JS的事件冒泡事件和事件捕獲分析

首先來說一下兩者的定義 1 冒泡型事件 事件按照從最特定的事件目標到最不特定的事件目標 document物件 的順序觸發。ie 5.5 div body document ie 6.0 div body html document mozilla 1.0 div body html document...