js事件冒泡於事件捕獲

2022-07-18 03:24:09 字數 1257 閱讀 3205

事件捕獲指的是從document到觸發事件的那個節點,即自上而下的去觸發事件。

事件冒泡自下而上(從最深節點開始,向上傳播事件)的觸發事件

1

//例子23

4567

var d_parent = document.getelementbyid("parent");

8var d_child= document.getelementbyid("child");

910 d_parent.addeventlistener("click",function

(e))

13 d_child.addeventlistener("click",function

(e))

1617

18//

結果:19

//child事件被觸發,child

20//

parent事件被觸發,parent

2122

//結論:先child,然後parent。事件的觸發順序自內向外,這就是事件冒泡。

繫結事件方法的第三個引數,就是控制事件觸發順序是否為事件捕獲。預設false,即事件冒泡。true,事件捕獲;false,事件冒泡。

var d_parent = document.getelementbyid("parent");

var d_child= document.getelementbyid("child");

d_parent.addeventlistener("click",function(e),true)

d_child.addeventlistener("click",function(e),true)

//結果:

//parent事件被觸發,parent

//child事件被觸發,child

//結論:先parent,然後child。事件觸發順序變更為自外向內,這就是事件捕獲。

事件捕獲

當你使用事件捕獲時,父級元素先觸發,子級元素後觸發,即div先觸發,p後觸發。

事件冒泡

當你使用事件冒泡時,子級元素先觸發,父級元素後觸發,即p先觸發,div後觸發。

event.stoppropagation(); -- 阻止元素冒泡事件 

也可以用開關實現,

JS事件冒泡與事件捕獲

1,ie只冒泡,w3c先捕獲再冒泡 鑑於我自己理解事件冒泡和捕獲的艱辛歷程 看了數篇博文之後,我猜這個問題是不是很難 後來發現不是,難是應用到高階的功能中 我要把此文寫得足夠輕便,新手易懂。為了方便測試 直接複製到html裡面 這個 很直觀了,事件冒泡 的過程 事件從發生的目標 event.srce...

js 事件冒泡或事件捕獲?

事件傳遞有兩種方式 冒泡 與捕獲 事件傳遞定義了元素事件觸發的順序。如果你將 元素插入到 元素中,使用者點選 元素,哪個元素的 click 事件先被觸發呢?在 冒泡 中,內部元素的事件會先被觸發,然後再觸發外部元素,即 元素的點選事件先觸發,然後會觸發 元素的點選事件 在 捕獲 中,外部元素的事件會...

js 事件冒泡和事件捕獲

1 冒泡型事件 事件按照從最特定的事件目標到最不特定的事件目標 document物件 的順序觸發。ie 5.5 div body document ie 6.0 div body html document mozilla 1.0 div body html document window 2 捕獲...