要約でJSの互換性の問題

  非インラインスタイルの互換モードを取得

でgetStyle関数(OBJ、ATTR){   // 非線のスタイルを取得し、objが、ATTR値がオブジェクトである
     IF(obj.currentStyle){                 // 非線のスタイルを取得するため、すなわち
          戻りobj.currentStyle [ATTR]; 
      } {
           戻り getComputedStyleを(OBJ、偽の)ATTR];    // 非IE用
        } 
    }

 

  イベントオブジェクトの互換モードを取得します。

document.onclick = 関数(イブ){
         VARの E =前夜||ウィンドウ。イベント; 
        console.log(E); 
    }

 

  互換性のある方法をバブリングイベント

関数stopBubble(E){
         場合(e.stopPropagation){ 
            e.stopPropagation()。
        } { 
            e.cancelBubble = // 兼容すなわち
        } 
    }

 

  互換性のある方法のブラウザのデフォルトの動作を妨げます

    もし(e.preventDefault){ 
        e.preventDefault()。
    } { 
        窓。イベント .returnValue =  ; // すなわち 
    }

 

  イベントリスナーの互換モードの設定と削除

1 。封装成对象的方式
     VAR EventUtil = { 
        はaddHandler:関数(DOM、イベントタイプ、FN){ 
            場合(DOM.addEventListener){ 
                DOM.addEventListener(EventTypeが、FN、)。
            } そう であれば(DOM.attachEvent){ 
                DOM.attachEvent(' ' + のEventType、FN)
            } { 
                DOM [ ' ' = +のEventType] FN 
            } 
        }、
        removeHandler:関数(DOM、イベントタイプ、FN){ 
            もし(DOM.removeEventListener){ 
                DOM.removeEventListener(EventTypeが、FN、
            } そう であれば(DOM.detachEvent){ 
                DOM.detachEvent(' ' + のEventType、FN)
            } { 
                [DOM ' ' +のEventType] = NULL ; 
            } 
        } 
    } 


2 。封装成两个函数的方式
    (バックOBJ、INCI)関数addEvent { 
        場合(obj.addEventListener){ 
            obj.addEventListener(INCI、バック)。
        }  もし(obj.attachEvent){ 
            (obj.attachEvent " オン" + バックINCI)。
        } { 
            [OBJの" オン" = + INCI] バック; 
        } 
    } 
          
    関数removeEvent(OBJ、INCI、バック){ 
        場合(obj.removeEventListener){ 
            obj.removeEventListener(INCI、背中、)。
        } そう であれば(obj.detachEvent){ 
            obj.detachEvent(" オン" + バックINCI)。
        } {
            [OBJ " オン" = + INCI] ヌル
        } 
    }

 

  互換性のあるイベントのデリゲートメソッド

VaRの OUL = document.querySelector(" UL " 
    oul.onclick = 関数(イブ){
         VARの E =前夜|| 窓。イベント; 

        VARトン= e.target || e.srcElement; 

        もし(t.getAttribute(" ABC ")== " L " ){ 
            にconsole.log(e.target.innerHTML)
        } 
        
    }

 

  この方法は、互換性のあるキーボードイベントであります

VaRの前夜=前夜||ウィンドウ。イベント;
VAR KEYC = eve.keyCode || eve.which。

 

  上記の私たちが指摘したいの誤差がある場合、いくつかの学習JS互換モードの過程で出会ったあなたに感謝の要約です。

おすすめ

転載: www.cnblogs.com/lxylhj/p/11479827.html