最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跨瀏覽器的事件對象介紹

 更新時間:2012年06月27日 10:36:58   作者:  
雖然IE的事件對象與DOM的事件對象存在差異,但是IE事件對象中所包含的信息和能力,與DOM事件對象是相同的,只是表現(xiàn)形式不同而已,通過映射的方式,我們可以實現(xiàn)兼容IE和DOM事件對象的事件對象
復(fù)制代碼 代碼如下:

var eventUtil = {
getEvent : function(event){
return event ? event : window.event;
};
getTarget : function(event){
return event.target || event.srcElement;
};
preventDefault : function(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
};
stopPropagation : function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble = true;
}
};
};

  當(dāng)使用一個DOM兼容的瀏覽器時,event 變量僅僅是傳入并被返回,在IE中event參數(shù)將是undefined ,因此window.event將會被返回,所以采用eventUtil.getEvent()方法無論在dom還是IE上event返回值都是可用的。
  同理第二個方法,getTarge()方法,先檢測event對象的target屬性,如果存在,則返回targe,若為IE瀏覽器則返回srcElement屬性。保證兼容性。
復(fù)制代碼 代碼如下:

btn.onclick = function(event){
event = EventUtil.getEvent(event);
var target = EventUtil.getTarget(event);
};

  第三個方法,preventDefault ()方法,當(dāng)event對象傳入時,先檢測event對象的preventDefault()方法是否可用,若可用則調(diào)用preventDefault方法,若不可用將event的returnValue 設(shè)置為false。
  例如:
  
復(fù)制代碼 代碼如下:

var link = document.getElementById("myLink");
link.onclick = function(event){
event = EventUtil.getEvent(event);
EventUtil.preventDefault(event);
};

  這段代碼阻止了一個link標(biāo)簽的默認(rèn)行為,event對象來自于EventUtil的getEvent方法的返回值 并作為preventDefault()方法的傳入?yún)?shù)。
  第四個方法stopPropagation(),用同樣的方法,首先嘗試DOM方法,之后嘗試cancelBubble屬性,例如下面的代碼:
復(fù)制代碼 代碼如下:

var btn = document.getElementById("myBtn");
btn.onclick = function(event){
alert("Clicked");
event = EventUtil.getEvent(event);
EventUtil.stopPropagation(event);
};
document.body.onclick = function(event){
alert("Body clicked");
};

記得這個方法可能阻止事件在瀏覽器的冒泡階段 或者 同時阻止事件在瀏覽器的冒泡和捕獲階段。

相關(guān)文章

最新評論

梓潼县| 广汉市| 隆化县| 分宜县| 德钦县| 桂平市| 东乌珠穆沁旗| 巩义市| 渭南市| 丹东市| 洪江市| 芮城县| 灯塔市| 揭东县| 门头沟区| 平湖市| 莒南县| 自贡市| 琼结县| 石林| 大港区| 喀喇| 洛浦县| 昭苏县| 江城| 钟祥市| 三明市| 汤原县| 准格尔旗| 闻喜县| 务川| 甘谷县| 丰顺县| 桐城市| 买车| 普洱| 如东县| 新平| 太仓市| 龙陵县| 彭泽县|