猿问

正确使用addEventListener()/ attachEvent()?

我不知道如何使用addEventListener分别attachEvent正确?


window.onload = function (myFunc1) { /* do something */ }


function myFunc2() { /* do something */ }


if (window.addEventListener) {

  window.addEventListener('load', myFunc2, false);

} else if (window.attachEvent) {

  window.attachEvent('onload', myFunc2);

}


 // ...

要么


function myFunc1() { /* do something */ }


if (window.addEventListener) {

  window.addEventListener('load', myFunc1, false);

} else if (window.attachEvent) {

  window.attachEvent('onload', myFunc1);

}


function myFunc2() { /* do something */ }


if (window.addEventListener) {

  window.addEventListener('load', myFunc2, false);

} else if (window.attachEvent) {

  window.attachEvent('onload', myFunc2);

}


 // ...


这个跨浏览器是安全的还是我应该更好地使用这样的东西:


function myFunc1(){ /* do something */ }

function myFunc2(){ /* do something */ }

// ...


function addOnloadEvent(fnc){

  if ( typeof window.addEventListener != "undefined" )

    window.addEventListener( "load", fnc, false );

  else if ( typeof window.attachEvent != "undefined" ) {

    window.attachEvent( "onload", fnc );

  }

  else {

    if ( window.onload != null ) {

      var oldOnload = window.onload;

      window.onload = function ( e ) {

        oldOnload( e );

        window[fnc]();

      };

    }

    else

      window.onload = fnc;

  }

}


addOnloadEvent(myFunc1);

addOnloadEvent(myFunc2);

// ...

AND:myfunc2仅适用于IE 7。如何相应地修改正确/首选方法?


HUX布斯
浏览 592回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答