js中的所有兼容问题总结
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;
}