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 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM