event對象
對於文檔中發生的每個事件,都將事件對象同事件一同發送給事件處理函數。事件對象提供了針對事件的特定信息,通過這些信息我們可以更詳細地瞭解事件,以便發現問題,獲取像素座標、定位已單機的按鈕等等。
捕獲和冒泡
DOM(文檔對象模型)結構是一個樹型結構,當一個HTML元素產生一個事件時,該事件會在元素結點與根節點之間按特定的順序傳播,路徑所經過的節點都會收到該事件,這個傳播過程可稱爲DOM事件流。
事件順序有兩種類型:事件捕捉和事件冒泡。
事件對象屬性
srcElement/target屬性
IE中的srcElement屬性和FireFox中的target屬性可以返回觸發事件的元素。
type屬性
type屬性包含事件名稱(如click,mouseover,keypress end so on)
將事件傳遞給javascript對象
在w3c方法中可以將event對象作爲參數發送給Javascript函數,但在IE中,event則是窗口對象(window.event)的屬性。
function testEvent(e){
var evt = (e)? e: ((window.event)?window.event:null);
}
獲取觸發事件的元素方法
function getTarget(e){
if(!e){var e = window.event;}
if(e.target) {targ = e.currentTarget; targ = targ.id;}
else if(e.srcElement){targ=e.srcElement.id;}
alert(targ + "has recived a " + e.type);
}