js-dom2高級事件列表

原文出處:http://www.cnblogs.com/lianzi/archive/2011/09/17/2179735.html


0級事件的事件註冊:element.οnmοuseοver=func,但是注意的是0級時間不允許給一個元素註冊多個函數。
先說一下dom2級事件不支持ie,在ie中得事件被稱之爲ie事件模型。
在dom2中註冊時間爲addEventListener(事件名,回調函數,是否冒泡)移除爲removeEventListener()
在ie爲attachEvent()與detachEvent()
同時注意的是在ie中沒有參數event,而是把改屬性放到了window.event中所以在 編寫代碼的時候應該
function fun(event){
    var e=event||window.event
    //可以調用e了
}

在dom2中事件的冒泡是默認false的,但是在ie中是開啓的。如果想要阻止的話,在dom2中具有event.stopPropagation()而在ie中爲window.event.cancelBubble=true

2級DOM的Event模塊包括HTMLEvents模塊,MouseEvents模塊,UIEvents模塊。
HTMLEvents模塊提供對Event類型事件的支持:abort,blur,change,erro,focus,load,reset,resize,scroll,select,submit,unload
MouseEvents模塊提供對MouseEvent類型事件的支持:click,mousedown,mousemove,mouseout,mouseover,mouseup
UIEvents模塊提供對UIEvent類型事件的支持:DOMActivate,DOMFocusIn,DOMFocusOut

 

Event接口定義瞭如下屬性

  • type:   發生的事件類型,如click,mouseover
  • target: 發生事件的節點,可能與currentTarget不同
  • currentTarget: 當前正在運行時間句柄的節點
  • eventPhase: 一個數字,指定當前所處的事件傳播過程的階段。它的值爲常量:Event.CAPTURING_PHASE、Event.AT_TARGET、Event.BUBBLING_PHASE
  • timeStamp: 一個Date對象,聲明瞭事件何時發生。
  • bubbles: 一個布爾值,聲明該事件是否在文檔樹中起泡
  • cancelable: 一個布爾值,聲明該事件是否有默認動作。

Event接口定義的方法:

  • stopPropagation(): 阻止事件傳播
  • preventDefault(): 阻止執行默認動作

 

UIEvent接口:

    Event接口的子接口,MouseEvent接口的父接口。

    定義了兩個屬性:

  • view: 發生事件的Window對象(視圖對象)
  • detail: 一個數字。提供事件的額外信息。對於click,mousedown,mouseup事件,這個字段代表點擊的次數。1代表一次,2代表兩次,3代表3 次。(每次點擊生成一次事件----detail值爲2的鼠標事件之前總有detail值爲1的鼠標事件)。對於DOMActivate事件,1表示爲正 常激活,2表示超級激活。(如雙擊鼠標或同時按下Shift鍵和Enter鍵)

 

MouseEvent接口的屬性:

  • button: 一個數字,0--左鍵,1--中間鍵,2--右鍵。
  • altKey,ctrlKey,shiftKey,metaKey:
  • clientX,clientY: 聲明鼠標在瀏覽器窗口的座標
  • screenX,screenY: 聲明鼠標針對屏幕左上角的座標
  • relatedTarget: 引用與事件的目標節點相關的節點。(mouseover--鼠標離開的節點,mouseout--鼠標將進入的節點)

 


 

事件類型名稱:abort
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<img>,<object>
詳細屬性:
事件類型名稱:blur
事件接口:Event
是否冒泡:no
默認動作:no
支持標籤:<a>,<area>,<button>,<input>,<label>,<select>,<textarea>
詳細屬性:
事件類型名稱:change
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<input>,<select>,<textarea>
詳細屬性:
事件類型名稱:click
事件接口:MouseEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey,button,detail
事件類型名稱:error
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<body>,<frameset>,<img>,<object>
詳細屬性:
事件類型名稱:focus
事件接口:Event
是否冒泡:no
默認動作:no
支持標籤:<a>,<area>,<button>,<input>,<label>,<select>,<textarea>
詳細屬性:
事件類型名稱:load
事件接口:Event
是否冒泡:no
默認動作:no
支持標籤:<body>,<frameset>,<iframe>,<img>,<object>
詳細屬性:
事件類型名稱:mousedown
事件接口:MouseEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey,button,detail
事件類型名稱:mousemove
事件接口:MouseEvent
是否冒泡:yes
默認動作:no
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey
事件類型名稱:mouseout
事件接口:MouseEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey,relatedTarget
事件類型名稱:mouseover
事件接口:MouseEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey,relatedTarget
事件類型名稱:mouseup
事件接口:MouseEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:screenX,screenY,clientX,clientY,altKey,ctrlKey,shiftKey,metaKey,button,detail
事件類型名稱:reset
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<form>
詳細屬性:
事件類型名稱:resize
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<body>,<frameset>,<iframe>
詳細屬性:
事件類型名稱:scroll
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<body>
詳細屬性:
事件類型名稱:select
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:<input>,<textarea>
詳細屬性:
事件類型名稱:submit
事件接口:Event
是否冒泡:yes
默認動作:yes
支持標籤:<form>
詳細屬性:
事件類型名稱:unload
事件接口:Event
是否冒泡:no
默認動作:no
支持標籤:<body>,<frameset>
詳細屬性:
事件類型名稱:DOMActivate
事件接口:UIEvent
是否冒泡:yes
默認動作:yes
支持標籤:
詳細屬性:detail
事件類型名稱:DOMFocusIn
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:none
詳細屬性:none
事件類型名稱:DOMFocusOut
事件接口:Event
是否冒泡:yes
默認動作:no
支持標籤:none
詳細屬性:none


發佈了11 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章