js中的所有兼容问题总结

js兼容问题总结

​ 在学习js过程中很多人都遇到过兼容问题,这些兼容问题是因为各版本浏览器不同导致的,为了解决这些兼容问题,js给我们提供了解决这些兼容问题的方案,对此,我个人进行了汇集以及总结。

1.阻止事件冒泡的兼容

  var e = eve || window.event;
        stopBubble(e);

  function stopBubble(e){
        if(e.stopPropagation){
            e.stopPropagation();
        }else{
            e.cancelBubble = true;
        }
    }

2.阻止默认事件的兼容

    var e = eve || window.event;

        stopDefault(e);

     function stopDefault(e){
        if(e.preventDefault){
            e.preventDefault()
        }else{
            e.returnValue = false;
        }
    }

3.事件监听的绑定方式的兼容

  obox.addEventListener("onclick",fn1)
    function fn1(){
        console.log(1)
    }
    obox.attachEvent("onclick",function(){
        console.log(2)
    })

4.事件解绑的兼容

  removeEventListener()    detachEvent()

5.获取键盘信息的兼容

  e.keyCode || e.which

6.获取事件源的监听

 e.target || e.sceElement

7.获取非行内样式的兼容

function getStyle(ele,attr){
    if(ele.currentStyle){
        return ele.currentStyle[attr];
    }else{
        return getComputedStyle(ele,false)[attr];
    }
}

8.获取滚动条距离

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

9.ajax兼容

var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft,XMLHTTP");

10.事件对象的兼容

function fn(eve){
        var e = eve || window.event;
}
原文地址:https://www.cnblogs.com/mhcll/p/11482123.html