如何编写兼容所有浏览器的JS事件绑定代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计168个文字,预计阅读时间需要1分钟。
EventUntil 是一个用于添加事件监听器的函数,以下是简化后的代码内容:
javascriptEventUntil={ addHandler: function(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent('on' + type, handler); } }}
EventUntilvar EventUntil = { addHandler:function(element,type,handler){ if(element.addEventListener){ //先检测DOM2级 element.addEventListener(type,handler,false) }else if(element.attachEvent){ //再检测IE element.attachEvent('on'+type,handler) }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 }, 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.stopPropogation){ event.stopPropogation() }else{ event.cancleBubble=true; } } }
本文共计168个文字,预计阅读时间需要1分钟。
EventUntil 是一个用于添加事件监听器的函数,以下是简化后的代码内容:
javascriptEventUntil={ addHandler: function(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent('on' + type, handler); } }}
EventUntilvar EventUntil = { addHandler:function(element,type,handler){ if(element.addEventListener){ //先检测DOM2级 element.addEventListener(type,handler,false) }else if(element.attachEvent){ //再检测IE element.attachEvent('on'+type,handler) }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 }, 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.stopPropogation){ event.stopPropogation() }else{ event.cancleBubble=true; } } }

