javascript事件傳播流程及事件阻止

2021-09-24 15:50:12 字數 1069 閱讀 4991

一、dom2級事件規定事件流包括三個階段:事件捕獲階段、處於目標階段、事件冒泡階段

1、捕獲階段:先由文件的根節點document往事件觸發物件,從外向內捕獲事件       物件;

2、目標階段:到達目標事件位置(事發地),觸發事件;

3、冒泡階段:再從目標事件位置往文件的根節點方向回溯,從內向外冒泡事件物件。

二、dom2級繫結事件 //先冒泡再捕獲

新增事件***:ele.addeventlistener(事件名,處理函式,布林值)

ele.attachevent()

現代瀏覽器(ie9、10、11 | ff, chorme, safari, opera)

注意:事件名不帶on,處理函式為函式引用,布林值代表冒泡(內到外)或捕獲(外到內)

element.addeventlistener(「click」,function(){},false);//false 事件冒泡

element.addeventlistener(「click」,function(){},true);//true事件捕獲

移除事件***:removeeventlistener(事件名,處理函式)

ie8及以下的事件***:attachevent(事件名,處理函式),detachevent(事件名,處理函式)

注意:事件名帶on

三、事件委託

事件委託的概念:利用冒泡的原理,將把本應該新增在子元素上的事件委託給他的父元素去處理。

好處:提高**的效率;可以給未來元素新增事件。

四、阻止冒泡

阻止冒泡:拿事件物件阻止事件的進行;(e.stoppropagation(););相容低版本的瀏覽器:

(event.stoppropagation();event.cancelbubble = true;)

五、阻止預設行為

w3c的方法是event.preventdefault(),

ie則是使用event.returnvalue = false;

javascript中事件流機制

1.js中事件流機制,分為三個階段,事件捕獲階段 處於目標階段 事件冒泡階段 2.事件捕獲階段,瀏覽器會從根節點開始由外到內進行事件傳播 事件傳播的順序是 window document div div 結點 通過函式新增 element.addeventlistener event,functio...

JavaScript基礎8事件函式 事件流

1.新增事件的方式 獲取節點後新增onclick屬性 var i document.getelementbyid box i.onclick function i.onclick function 重複的會覆蓋 獲取節點後新增事件監聽屬性 var i document.getelementbyid ...

spring 事件傳播

源於 spring提供事件傳播機制。作用 借助事件機制,可以完成當系統出現異常,可以在監視端上報警,並發簡訊通知管理員。spring事件物件 定義某一類事件 private static final long serialversionuid 1l public testevent object s...