JavaScriptの一般的に使用されるいくつかの互換性を整理します
1.非インラインスタイル(互換性の問題)を取得するスタイル(互換性の問題)
function getStyle(obj,attr){ //获取非行间样式,obj是对象,attr是值
if(obj.currentStyle){ //针对ie获取非行间样式
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr]; //针对非ie
};
}
2.スクロールバーが移動する垂直距離を取得します
var _top = null;
window.onscroll = function(){
//兼容问题 获取滚动条移动的垂直距离
_top = document.body.scrollTop || document.documentElement.scrollTop;
console.log(_top);
}
function fun(){
document.body.scrollTop = document.documentElement.scrollTop = 0;
}
3.イベントオブジェクトの互換性:var e = evt || event;
4。キーボード検出のための互換性のある書き込み方法
var key = e.keyCode || e.which || e.charCode;
5.バブリングを防ぐための互換性
e.stopPropagation();
e.stopPropagation ? e.stopPropagation():e.cancelBubble = true;
6.ブラウザのデフォルトイベントを防止します
e.preventDefault?e.preventDefault():e.returnValue = false;
return false;
7.イベント監視の互換性
function addEvent(obj,type,callBack){
if(obj.addEventListener){//非IE版本
obj.addEventListener(type,callBack);
}else{//IE版本
obj.attachEvent("on"+type,callBack);
}
}
addEvent(document,"click",function(){alert("document")});