JS兼容性总结

时间:2023-03-08 18:26:16
获取样式
obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr]; //currentStyle为IE 滚动条
var scroll = document.documentElement.scrollTop || document.body.scrollTop //body为chrome 事件
var ev = ev || event; //event为IE和chrome,ev为标准 事件绑定 obj.attachEvent('onclick',fn); //IE
obj.addEventListener('click',fn,false); //标准 obj.detachEvent('onclick',fn); // IE
obj.removeEventListener('click',fn,false) //标准

事件委托 target = ev.target || ev.srcElement; //IE下是srcElement,标准下是target
鼠标滚轮 obj.onmousewheel = fn //IE/chrome
if (obj.addEventListener) { //FF,如果addEventListener存在处理 obj.addEventListener('DOMMousescroll',fn,false)
}
function fn(ev) {
  var ev = ev || event;
  var b = true;
  //ev.wheelDelta为IE/chrome,向下为-120,向上为120
  //ev.detail为FF,向下为1,向上-1
  //通过布尔来处理兼容性
  if (ev.wheelDelta) {
    b = ev.wheelDelta>0 ? true : false;
  } else {
    b = ev.detail<0 ? true :false;
  }
 
  if (b) {
    alert('向上')
} else {
    alert('向下')
  }
} return false; //标准,阻止浏览器默认行为
ev.preventDefault; //FF下,使用addEventListener后,需要用此方法来阻止浏览器默认的行为 创建ajax对象
var xhr = null;
try{
  xhr = new XMLHttpRequest();
} catch(e) {
  xhr = new ActiveXObject('Microsoft.XMLHTTP'); //IE6
}