dom事件模型分為三個等級,分別是0級、1級、2級。
0級是最早的,而且目前所有的瀏覽器仍支援0級dom模型。
0級模型的註冊事件,就是我們經常見到的,如:
2級的典型特點是事件傳播的階段,(捕獲階段,直接目標階段,起泡階段),注意在第三個階段「起泡階段」在ie6中不支援。
在事件傳播的過程中,可以隨時用event物件的stoppropagation()方法停止事件傳播。
另外如標籤的href屬性,是在三個事件階段執行後,觸發的href跳轉,如果想阻止跳轉,可以使用event物件的preventdefault()方法阻止預設動作發生。
0級及2級的最主要區別:
0級只能為一些特定物件的特定型別的事件註冊乙個事件監聽,但在2級模型中可以為特定物件的事件註冊多個事件監聽。
2級模型的event介面的屬性:
type:發生的事件的型別。該屬性的值是事件型別名,與註冊事件處理程式時使用的字串值相同(例如,「click"或「mouseover「)。
target:發生事件的節點,可能與currenttarget不同。
currenttarget:發生當前正在處理的事件的節點(如當前正在執行事件處理程式的節點)。如果在傳播過程的捕捉階段
或起泡階段處理事件,這個屬性的值就與target屬性的值不同。
eventphase:乙個數字,指定了當前所處的事件傳播過程的階段。它的值是常量,可能值包括event.cpaturing_phase,event.at_target或event.bubbling_phase。
timestamp:乙個date物件,宣告了事件何時發生。
bubbles:乙個布林值,宣告該事件(和這種型別的事件)是否在文件樹中起泡。
cancelable:乙個布林值,宣告訪事件是否具有能用preventdefault()方法取消預設動作。
除了這七個屬性外,event介面還定義了兩個方法,即stoppropagation()和preventdefault(),所有事件物件都實現
了它 們。呼叫stoppropagation()方法可以阻止事件從當前在處理它的節點傳播。任何事件處理程式都可以呼叫preventdefault() 方法阻止瀏覽器執行與事件相關的預設動作。
dom事件模型級別
到目前為止,dom事件模型分為三個等級,分別是0級 1級 2級。0級是最早的,而且目前所有的瀏覽器仍支援0級dom模型。0級模型的註冊事件,就是我們經常見到的,如 2級的典型特點是事件傳播的階段,捕獲階段,直接目標階段,起泡階段 注意在第三個階段 起泡階段 在ie6中不支援。在事件傳播的過程中,可以...
DOM事件級別
dom事件級別 0級事件 var el document.getelementbyid el el.nclick function dom 2級事件 el.addeventlistener click text,false function text e dom 3級事件 ui事件,當使用者與頁面上...
dom事件級別
dom事件級別其實就是一些制定的標準 有0,2,3三種標準。0級就是類似下圖那樣,用onclick來繫結事件,也沒有自定義事件啥的。事件會被覆蓋。到了2級可以開始有多個事件,還支援事件的冒泡和捕獲的設定。false是冒泡,true是捕獲 addeventlistener event,listener...