js绑定事件方法:addEventListener的兼容问题
Posted 前端知识随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js绑定事件方法:addEventListener的兼容问题相关的知识,希望对你有一定的参考价值。
js的事件绑定方法中,ie只支持attachEvent,而FF和Chrome只支持addEventListener;严格来说:addEventListener只有IE9以上版本的IE浏览器上能够兼容,IE8或者更低的版本是不支持,这时要想能够兼容IE低版本浏览器就需要判断当前浏览器然后针对不同浏览器决定用哪一个。
attachEvent和addEventLitener的不同之处是第二个参数事件名要多加个“on”,比如‘onclick’,而且他的this 指向的是window,在使用的时候需要改变this指向。下面就是一个兼容的写法:
1 var Event = {}; 2 Event.addEvents = function(target,eventType,handle){ 3 if(document.addEventListener){ 4 Event.addEvents = function(target,eventType,handle){ 5 target.addEventListener(eventTypt,handle,false); 6 }; 7 }else { 8 Event.addEvents = function(target,eventType,handle){ 9 target.attachEvent(‘on‘+eventType,function(){ 10 handle.call(target,arguments); 11 }); 12 }; 13 14 } 15 Event.addEvents(target,eventType,handle); 16 17 }
调用方法:
1 Event.addEvents(document,"click",function(){ 2 alert(ok) 3 });
以上是关于js绑定事件方法:addEventListener的兼容问题的主要内容,如果未能解决你的问题,请参考以下文章