複製** **如下:
var eventutil = ;
gettarget : function(event);
preventdefault : function(event)else
}; stopprorhqosapagation : function(event)else
}; };
當使用乙個dom相容的瀏覽器時,event 變數僅僅是傳入並被返回,在ie中event引數將是undefined ,因此window.event將會被返回,所以採用eventutil.getevwww.cppcns.coment()方法無論在dom還是ie上event返回值都是可用的。
同理第二個方法,gettarge()方法,先檢測event物件的target屬性,如果存在,則返回targe,若為ie瀏覽器則返回srcelement屬性。保證相容性。
複製** **如下:
btn.onclick = function(event);
第三個方法,preventdefa程式設計客棧ult ()方法,當event物件傳入時,先檢測event物件的preventdefault()方法是否可用,若可用則呼叫preventdefault方法,若不可用將event的returnvalue 設定為false。
例如:
複製** **如下:
var link = document.getelementbyid("mylink");
link.onclick = function(event);
這段**阻止了乙個link標籤的預設行為,event物件來自於eventutil的getevent方法的返回值 並作為preventdefault()方法的傳入引數。
第四個方法stoppropagation(),用同樣的方法,首先嘗試dom方法,之後嘗試cancelbubble屬性,例如下面的**:
複製** **如下:
var btn = document.getelementbyid("mybtn");
btn.onclick = function(event);
document.body.onclick = function(event);
記得這個方法可能阻止事件在瀏覽器的冒泡階段 或者 同時阻止事件在瀏覽器的冒泡和捕獲階段。
本文標題: 跨瀏覽器的事件物件介紹
本文位址:
跨瀏覽器的事件物件
在前端開發工作中,由於瀏覽器相容性等問題,觸發事件物件的方法不同,分為ie和非ie兩種。下面主要介紹跨瀏覽器觸發 目標事件 阻止事件的預設行為 阻止事件冒泡 三種方法 var eventutil preventdefault function e else stoppropagation funct...
EventUtil物件之跨瀏覽器事件物件
由於ie中event物件的全部資訊和方法dom 中都有,所以實現兩種時間模型之間的對映還是容易的。vareventutil else getevent function event gettarget function event preventdefault function event else...
跨瀏覽器的事件處理
事件型別 ie中的事件物件 dom中的事件物件 獲取方法 window.event event 兩者都含有一些常規的屬性 方法,在所有的事件中呈現。dom事件物件的屬性 方法 ie事件物件的屬性 方法 除卻以上的屬性,還有些事件擁有著較為特殊的屬性,如 事件屬性 放放 介紹mousedown but...