事件冒泡和事件捕獲

2021-10-03 17:36:28 字數 971 閱讀 3508

事件冒泡:事件物件沿dom樹向上傳播

事件捕獲:事件物件沿dom樹向下傳播

addeventlistener(「click」,function(){},flase)

引數預設為false 代表事件冒泡,引數為true代表事件捕獲

attachevent(「onclick」,function(){})/detachevent()沒有第3個引數

示例:html

"ul"

>

"item1"

>item1

"item2"

>item2

"item3"

>item3

"item4"

>item4

"item5"

>item5

"item6"

>item6

js

//事件委託:將本該由子元素所執行的事件交由父元素代替執行,這是利用了事件冒泡的原理

//好處 1.提公升了效率2.能夠給未來元素新增事件

var fath=document.

getelementbyid

("ul"

) fath.

addeventlistener

("click"

,function

(event)

else

if(event.target.id ==

"item2"

)else

if(event.target.id ==

"item3"

)else

if(event.target.id ==

"item4"

)else

if(event.target.id ==

"item5"

)else},

true

)

事件捕獲和事件冒泡

如果乙個節點和它的乙個父節點都繫結了相同事件型別的 當事件觸發時哪個 會先執行?儘管網景和微軟的處理方式不一致,也不要太過擔心。netscape 4 支援事件捕捉 capturing 從頂層的父節點開始觸發事件,從外到內傳播。微軟則支援事件冒泡 bubbling 從最內層的節點開始觸發事件,逐級冒泡...

事件冒泡和事件捕獲

在js中,繫結的事件預設的執行時間是在冒泡階段執行,而非在捕獲階段 重要 這也是為什麼當父類和子類都繫結了某個事件,會先呼叫子類繫結的事件,後呼叫父類的事件。直接看下面例項 當點選id3元素時候,執行結果是 id2,id3,id1 解析 因為obj2與obj3繫結的方法在捕獲階段執行,obj1的事件...

事件冒泡和事件捕獲

物件導向 單列模式 工廠模式 建構函式 1 類 js天生自帶的類 object 基類 function array number math boolean date regexp string 1.事件 瀏覽器客戶端上客戶觸發的行為都稱為事件 所有的事件都是天生自帶的,不需要我們去繫結,只需要我們去...