DOM的事件傳播機制

2022-09-24 03:15:10 字數 602 閱讀 4142

在dom傳播的過程中,乙個事件有觸發到響應,經歷了三個過程:

1,目標的挖洞過程,先有html標籤觸發事件,然後向子標籤一層一層傳播,但未執行,,直到找到事件目標為止,這個過程叫做挖洞過程,

2,目標階段,即獲取目標階段。

3,冒泡階段,事件目標響應事件,並呼叫事件函式,然後一層一層向父標籤傳遞事件響應,直到html根標籤結束為止。這個過程叫冒泡過程。

事件函式是在冒泡過程中呼叫的,可以通過addeventlistener設定第三個引數為true,改為挖洞過程呼叫。

對於事件傳播流程中的標籤來說,挖洞總是在冒泡之前執行,對於最底層的事件目標也是如此,但火狐不這麼認為,在火狐中,對於事件目標,挖洞函式和冒泡函式誰先繫結誰先執行。

var a = document.queryselector('a')

// 需求,div中有乙個a標籤,點選div背景變藍,點選a背景變紅

a.addeventlistener('click', function (e) , true)                                   // 阻止冒泡是在挖洞過程進行的

div.addeventlistener('click', function () )

DOM事件傳播模型

url 事件模型 url 見下圖 img 標準dom2的事件傳播模型分2個階段 首先是捕獲階段 capture prase 從document物件起向下傳播,直至到達目標物件 此過程ie不支援 若目標物件的父節點註冊了捕捉型的事件處理函式 見例1 則該函式會在事件到達目標物件前呼叫一次。然後是起泡階...

dom 事件機制

addeventlistener 方法用於向指定元素新增事件。element.addeventlistener event,function,usecapture 引數描述 event function 必須。指定要事件觸發時執行的函式。當事件物件會作為第乙個引數傳入函式。事件物件的型別取決於特定的...

事務傳播機制

propagation.required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇,也是spring預設的事務的傳播。propagation.supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation.mandatory 支援當前事務,如果當...