// js浏览器兼容问题

//1.兼容点击事件
function addEvent(dom,type,fn){
  //对于支持DOM2级事件处理程序addEventListener方法的浏览器
  if(dom.addEventListener){
  dom.addEventListener(dom,type,fn);
  }else if{
  //对于不支持addEventListener方法但支持attachEvent方法的浏览器
  dom.attachEvent('on'+type,fn);
  }else{
  //对于不支持addEventListener方法也不支持attachEvent方法,但支持on+'事件名'的浏览器
  dom['on'+type]=fn;
  }
}
//调用
var myInput=document.getElementById('myinput');
addEvent(myInput,'click',function(){})

//2.针对IE低版本浏览器不兼容e.preventDefault()和e.target的问题;
//获取事件
var getEvent=function(event){
//标准浏览器返回event,IE下window.event
  return event||window.event;
}
//获取元素
var getTarget=function(event){
var event=getEvent(event);
//标准浏览器下event.target,IE下event.srcElement
  return event.target||event.srcElement;
}

//阻止默认行为
var preventDefault=function(event){
  var event=getEvent(event);
  if(event.preventDefault){
  //标准浏览器
event.preventDefault();
  }else{
  //IE浏览器
  event.returnValue=false;
  }
}

猜你喜欢

转载自blog.csdn.net/qq_29854831/article/details/79420433