事件的捕獲

2021-10-06 21:12:39 字數 1392 閱讀 8825

lang

="en"

>

>

charset

="utf-8"

/>

name

="viewport"

content

="width=device-width, initial-scale=1.0"

/>

>

documenttitle

>

head

>

>

"demo"

style

="width

: 300px;

height

: 300px;

background

: blue;

">

"demo1"

style

="width

: 200px;

height

: 200px;

background

: red;

">

333

div>

222div

>

111div

>

>

let demo = document.

queryselector

("#demo");

let demo1 = document.

queryselector

("#demo1");

let demo2 = document.

queryselector

("#demo2");

demo.

addeventlistener

('click'

,function()

,true

) demo1.

addeventlistener

('click'

,function()

,true

) demo2.

addeventlistener

('click'

,function()

,true

)script

>

body

>

html

>

正常這種情況下你要是不阻止事件冒泡它的列印結果應該是333 222 111從裡往外依次觸發,但是這裡我們用了addeventlistener它一共有三個引數其實,上次只寫了常用的前兩個,他還有第三個引數是布林值,當第三個引數為true時就會觸發其自帶的事件捕獲效果,改變執行的順序,從外往裡執行捕獲。現在他的列印結果應該是111 222 333,而且你也可以使用 e.stoppropagation();阻止事件捕獲的進行。

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

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

事件冒泡,事件捕獲

js事件流中有一種事件被稱為 冒泡事件 當乙個元素被觸發乙個事件時,該目標元素上的事件會優先被執行,然後向外傳播到每個祖先元素,恰如水裡的乙個泡泡似的,從產生就一直往上冒,到達水平面時,它才消失。在這個過程中,如果你只希望觸發目標元素上的事件,而不想它傳播到祖先元素上去,那麼你需要在 泡泡 離開物件...

事件捕獲 事件冒泡

body div id div1 div id div2 div id div3 div div div body script window.onload function odiv1.onclick fn1 odiv2.onclick fn1 odiv3.onclick fn1 false 冒泡...