事件不同浏览器的兼容性问题

Posted 嗨海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件不同浏览器的兼容性问题相关的知识,希望对你有一定的参考价值。

事件对象的兼容问题

事件event兼容写法:event = event || window.event;    (ie的为Window.event)

事件目标:target = event.target|| event.srcElement;  (ie的为event.srcElement)

取消默认行为:

function(event){
   if(event.preventDefalut){
          event.preventDefault();
   }else{
           event.returnValue = false;  
}
}

阻止冒泡:cancalBubble属性取消ie的事件冒泡,IE不支持事件捕获。而stopPropagation()为取消事件捕获和冒泡

function(event){
   if(event.preventDefalut){
          event.stopPropagation();
   }else{
           event.cancelBubble = true;  
}
}

事件处理程序的兼容问题

DOM2级事件处理程序:添加addEventListener()及移除removeEventListener();三个参数element,addEventListener("click",funcition, false/true), "click"为事件类型,function为函数或者函数名,false为在冒泡阶段调用事件处理程序,true为捕获阶段。需要调用移除时removeEventListener需要addEventListener的function必须为函数名

IE事件处理程序:添加attachEvent("onclick",function) 没有false/true由于IE8及更早的版本只支持事件冒泡。 移除是datachEvent("onlick",function) function为函数名,匿名函数不能移除。

  

以上是关于事件不同浏览器的兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

存在不同浏览器间的JS兼容总结

兼容ie8,firefox,chrome浏览器的代码片段

js 不同浏览器兼容性(转)

js绑定事件方法:addEventListener与attachEvent的不同浏览器的兼容性写法

js绑定事件方法:addEventListener的兼容问题

javascript中的事件学习总结