一、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...