js中常见的兼容问题(待补充……)

1.事件对象:var e = e || event;

2.target属性:var target = e.target || e.srcElement;

3.获取键码:keyCode:var code = e.keyCode || e.which || e.charCode;

4.获取滚动条滚走的距离:document.documentElement.scrollTop || document.body.scrollTop

5.获取元素内部偏移量:e.offsetX || e.layerX;或e.offsetY || e.layerY;

6.阻止事件冒泡:e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;

7.阻止默认行为:e.preventDefault ? e.preventDefault() : e.returnValue = false;

return false:所有浏览器适用。

8.事件监听:

现代浏览器:addEventListener(“事件”,callBack);

IE8:attachEvent(on+”事件”,callBack);

9.button属性值获取:

if(eve){//现代浏览器

         return eve.button;

    }else if(window.event){//ie8

         var button = window.event.button;

         switch(button){

             case 1 :

                  return 0;

             case 4 :

                  return 1;

             case 2 :

                  return 2;

         }

}

简约不简单,代码追求极致
原文地址:https://www.cnblogs.com/bitkuang/p/9857763.html