浏览器兼容性-js

635 阅读1分钟

1、事件绑定

1 function add(obj,event){
2     if (obj.addEventListener) {
3         obj.addEventListener(event,fn,fase);
4     }else{
5         obj.attachEvent("on"+event,fn);
6     }
7 }

注:addEventListener()兼容firefox、chrome、safari、opera、IE9+

       attachEvent()兼容IE7,8

2、event事件对象

1 document.onclick = function(e){
2     var e = e||window.event;  
3     console.log(e.clientX);
4 }

注:e兼容火狐浏览器,window.event兼容非火狐

3、获取scrollTop

var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;

注:document.documentElement.scrollTop兼容非chrome

       document.body.scrollTop兼容chrome

4、阻止浏览器默认事件

1 function prevent(event){
2     if (event.preventDefault) {
3         event.preventDefault();
4     }else{
5         event.returnValue = false;
6     }
7 }

注:eventPreventDefault()不兼容IE6-8

   event.returnValue = false;兼容IE

5、阻止冒泡

1 function stop(event){
2     if (event.stopPropagation) {
3         event.stopPropagation();
4     }else{
5         event.cancleBubble = true;
6     }
7 }

注:event.stopPropagation()不兼容IE6-8

   event.cancleBubble = true兼容IE

6、滚轮

1 function mouseWheel(obj,fn){
2     var ff = window.navigator.userAgent.indexOf('Firefox');
3     if (ff!=-1) {        obj.addEventListener('DOMMouseScroll',wheel,false);//兼容火狐
4     }else{
5         obj.onmousewheel = wheel;//非火狐
6     }
7 }

注:obj.addEventListener('DOMMouseScroll',wheel,false);//兼容火狐

       obj.onmousewheel = wheel;//非火狐