Matthias Scharwies: window.onload oder addEventListener('load', );

Beitrag lesen

Servus!

Vielen Dank für eure Rückmeldungen!

Inwieweit könnt ihr in fest umgrenzten Fällen wie kleinen Projekten ein Hinzufügen von Eventhandlern mit der Punkt-Notation noch (oder doch) empfehlen?

Mitentscheidend ist hier wohl die Frage, was unter „fest umgrenzt“ zu verstehen sein soll. ... Die Methode addEventListener ist gegenüber der Registrierung mittels Eigenschaftszuweisung deutlich robuster und sollte, auch um mögliche zukünftige Erweiterungen zu antizipieren, grundsätzlich empfohlen werden, unabhängig vom anfänglichen Umfang eines Projektes.

Ok, dann werde ich diese Methode (im DOM-Tutorial) nur vorstellen und mit diesem Hinweis versehen:

{{Beachten|,|dass bei dieser Notation ein evtl. schon vorhandener Eventhandler überschrieben wird.
Deshalb sollte die Methode [[addEventlistener]] verwendet werden, um
*evtl. schon vorhandene Event-Handler von anderen Programmierern zu berücksichtigen
*mögliche Erweiterungen nicht von vorneherein auszuschließen.}}

Verwendet Ihr überhaupt noch onload oder eher DOMContentLoaded?

window.onload;

// oder

document.addEventListener("DOMContentLoaded", dokumentGeladen, false);

Wie Gunnar bereits sagte, sind die Ereignisse load und DOMContentLoaded zwei verschiedene Paar Schuhe, [....]

Zu beachten ist hierbei übrigens, dass es keine entsprechende Objekteigenschaft für das Ereignis DOMContentLoaded gibt, dass heißt, eine Überwachung dieses Ereignisses muss ohnehin mittels der Methode addEventListener erfolgen!

und genau das wäre dann die passende Gelegenheit zuerst die traditionelle Methode vorzustellen und dann nach dem Hinweis DOMContentLoaded und die dafür nötige Methode vorzustellen.

Herzliche Grüße

Matthias Scharwies

PS: Wie genau haltet ihr das mit der Konvention, Strings in Hochkommas oder doppelte Anführungszeichen zu setzen?

document.addEventListener('DOMContentLoaded', init);
//oder
document.addEventListener("DOMContentLoaded", init);