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