JSでの一般的な互換性の問題

1.非インラインスタイルを取得

高度なブラウザ:

 

getComputedStyle(Obox。// すべてのプロパティを取得します

 

IEブラウザ

obox.currentStyle // すべてのプロパティを取得します。

互換性のある言葉遣い

 機能でgetStyle(ELE、ATTR){//要素ELEは、属性attrで取得します。
        VaRの A = "" ;
         IF (ele.currentStyle){= ele.currentStyle [ATTR]。
        } {= getComputedStyle(彼は)[ATTR]。
        }
        返します
    }

2.互換性のあるイベントオブジェクト

 VaRの E =前夜|| window.event

3.互換性のあるイベント・ソース

e.target || e.srcElement

互換性をバブリング4.イベント

高度なブラウザ

e.stopPropagation()

IE

e.cancelBubble =  ;

互換性のある言葉遣い

    関数stopBubble(E){
         場合(e.stopPropagation){
            e.stopPropagation();
        } {
            e.cancelBubble = ;
        }
    }

5.キーの押下値を取得

VaRのコード= e.keyCode || e.which

6.デフォルトのイベントを防ぎます

高度なブラウザ

e.preventDefault()

IE

e.returnValue = 

互換性のある言葉遣い

 関数stopDefault(E){
         場合(e.preventDefault){
            e.preventDefault()
        } {
            e.returnValue = ;  
        }
  }

7.DOM2レベルのイベントバインディング

高度なブラウザ

obox.addEventListener( "クリック"、FN)

IE

obox.attachEvent( "onclickの"、FN)

互換性のある言葉遣い

言葉遣いと//バインド互換性
addEvent(Obox、 "クリック" 、FN1) 関数FN1(){ console.log( 1 } 関数addEvent(ELE、タイプ、CB){ 場合(ele.addEventListener){ ele.addEventListener(タイプ、CB) } そう であれば(ele.attachEvent){ (ele.attachEvent +の"オン" タイプ、CB) } { [ELE = +型の"オン"] CB。 } }
 // 互換削除 
removeEvent(Obox、 "クリック" 、FN1)
    関数(タイプのELE、CB)removeEventを{
        IF (ele.removeEventListener){
           ele.removeEventListener(タイプ、CB)
       } そう であれば(ele.detachEvent){
           (ele.detachEvent +の"オン" タイプ、CB)
       }  = [+型の"オン"] {ELEのヌル
       }
   }

プロパティは、オブジェクト8.window:

 

|| || document.body.clientWidth document.documentElement.clientWidth window.innerWidth // 可視領域幅:

window.innerHeight || || document.documentElement.clientHeight document.body.clientHeight // 可視領域の高さ:

document.documentElement.scrollTop || document.body.scrollTop // スクロールバーの距離の頂上からのページ:

document.docimentElement.scrollLeft || document.body.scrollが左// 左からの距離にページスクロールバーを:

 

おすすめ

転載: www.cnblogs.com/zl-light/p/11756792.html