dom事件模型級別

2021-05-22 10:45:15 字數 1202 閱讀 3060

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