js跨浏览器事件处理
生活随笔
收集整理的這篇文章主要介紹了
js跨浏览器事件处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
var EventUtil = {addHandler: function(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false); //添加DOM2事件}else if(element.attachEvent){element.attachEvent("on"+type,handler); //添加IE事件}else{element["on"+type] = handler; //添加DOM0事件
}},removeHandler: function(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false);}else if(element.detachEvent){element.detachEvent("on"+type,handler);}else{element["on"+type] = null;}},getEvent : function(event){return event ? event : window.event; //在使用DOM0級事件中中event作為window對象的一個屬性存在
},getTarget : function(event){return event.target || event.srcElement; //IE中取得event.srcElement
},preventDefault : function(event){if(event.preventDefault){event.preventDefault();}else{event.returnValue = false; //IE中阻止默認事件
}},stopPropagation : function(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble = true; //IE取消事件冒泡
}}
}
?
addHandler()視情況分別為DOM0級方法、DOM2級方法或IE方法來添加事件。
removHandler()則是移除事件。
注:DOM0級對每個事件只支持一個事件處理程序。
?
EventUtil的使用例子,如下
window.onload = function(){var btn = document.getElementById("btn");EventUtil.addHandler(btn,"click",demo);//EventUtil.removeHandler(btn,"click",demo)function demo(){alert("ckicked !");} }?
轉載于:https://www.cnblogs.com/scnuwangjie/p/4918321.html
總結
以上是生活随笔為你收集整理的js跨浏览器事件处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2015生命之旅---第一站重庆
- 下一篇: OEM status|start|sto