回顧
事件對象裡包含三個方面的信息····回看上一篇內容!
事件對象裡的屬性和方法,主要是鼠標和鍵盤的信息。
1. 獲取事件類型
事件對象屬性type
2. 獲取按鍵代碼
事件對象屬性keyCode:回車為13,空格為32,後退鍵為8
3. 檢測Shift、Alt、Ctrl鍵
事件對象屬性是否被按下:shiftKey、altKey、ctrlKey
4. 獲取客戶端坐標
事件對象屬性clientX和clientY
5. 獲取屏幕坐標
事件對象屬性screenX和screenY
事件的類型
根據觸發事件的事物和事件發生的對象,可將浏覽器中發生的事件分為幾個類型:
一、 鼠標事件 每個鼠標事件都會給以下event對象的屬性填入值:
1.坐標屬性(如clientX 和 client 等)
2.Type屬性
3.Targer(DOM)或serElement(IE)屬性(目標對象屬性)
4.shiftKey、ctrlKey、altKey和metaKey(DOM)屬性
5.button屬性(只在mouse事件中)
(oEvent.target || oEvent.srcElement).id邏輯符或操作符作用於兩個對象時,第一個對象非空,返回第一個對象,否則返回第二個對象,這裡表示的是引起事件的元素的ID。
二、 鍵盤事件
Keydown --- 在鍵盤上按下某按鍵時發生。一直按著某鍵,它則會不斷觸發。
Keypress --- 按下一個按鍵,並產生一個字符時產生(也就是不管類似Shit ctrl alt之類的鍵。)一直按鍵時,它會持續發生。
Keyup --- 釋放按著的按鍵時發生
1. 事件的屬性
對每個鍵盤事件,會填入以下的事件屬性:
keyCode屬性(鍵位的ASC碼值)
charCode屬性(僅DOM)
target(DOM)與srcElement(IE)屬性
shiftKey、ctrlKey、altKey和metaKey(DOM)屬性
2.順序
當用戶按一次某字符按鍵時,會按以下順序發生事件:
(1)、keydown;
(2)、keypress;
(3)、keyup;
如果用戶按一次某非字符按鍵(例如shift),會按以下順序發生事件:
(1)、keydown;
(2)、keyup;
三、 HTML事件 onload、unload、resize、scroll等事件。
四、 突變事件 文檔或元素元素的子樹的添加刪除節點,目前還沒有任何主流浏覽器實現了它。