Korrekte Verwendung von addEventListener () / attachEvent ()?

Frage ich mich, wie zu verwenden addEventListener bzw. attachEvent richtig?

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);
}

 //...

oder

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);
}

 //...

?

Ist dieser cross-browser sicherer, oder sollte ich besser gehen mit so etwas wie dies:

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);
//...

UND: Sagen myfunc2 ist für den IE 7 nur. Wie Sie die richtige/bevorzugte Methode entsprechend?

InformationsquelleAutor der Frage ginny | 2010-04-17

Schreibe einen Kommentar