Ich möchte eine Funktion ausführen, wenn die Seite geladen wird, aber ich möchte sie nicht im <body>
Tag verwenden.
Ich habe ein Skript, das ausgeführt wird, wenn ich es <body>
wie folgt initialisiere :
function codeAddress() {
// code
}
<body onLoad="codeAddress()">
Aber ich möchte es ohne das ausführen <body onload="codeAddress()">
und habe viele Dinge ausprobiert, z. B.:
window.onload = codeAddress;
Aber es funktioniert nicht.
Wie führe ich es aus, wenn die Seite geladen wird?
javascript
html
onload
Claes Gustavsson
quelle
quelle
window.onload = codeAddress
nachcodeAddress()
definiert? Wenn ja, sollte dies funktionieren. Sind Sie sicher, dass anderswo kein Fehler vorliegt?Antworten:
window.onload = codeAddress;
sollte funktionieren - hier ist eine Demo und der vollständige Code:quelle
Anstatt jQuery oder window.onload zu verwenden, hat natives JavaScript seit der Veröffentlichung von jQuery einige großartige Funktionen übernommen. Alle modernen Browser verfügen jetzt über eine eigene DOM-fähige Funktion ohne Verwendung einer jQuery-Bibliothek.
Ich würde dies empfehlen, wenn Sie natives Javascript verwenden.
quelle
false
?)Darins Antwort, aber jQuery-Stil. (Ich weiß, dass der Benutzer nach Javascript gefragt hat).
Geige laufen
quelle
Alternative Lösung. Ich bevorzuge dies aus Gründen der Kürze und der Einfachheit des Codes.
Dies ist eine anonyme Funktion, bei der der Name nicht angegeben ist. Was hier passiert ist, dass die Funktion zusammen definiert und ausgeführt wird. Fügen Sie dies am Anfang oder Ende des Körpers hinzu, je nachdem, ob es vor dem Laden der Seite oder kurz nach dem Laden aller HTML-Elemente ausgeführt werden soll.
quelle
window.onload = function() {
... etc. ist keine gute Antwort.Dies wird wahrscheinlich funktionieren, aber es werden auch alle anderen Funktionen unterbrochen, die bereits mit diesem Ereignis verbunden sind. Wenn sich eine andere Funktion nach Ihrer in dieses Ereignis einfügt, wird Ihre Funktion unterbrochen. Sie können also viele Stunden später versuchen herauszufinden, warum etwas, das funktioniert hat, nicht mehr funktioniert.
Eine robustere Antwort hier:
Bei einem Code, den ich verwendet habe, habe ich vergessen, wo ich ihn gefunden habe, um dem Autor die Ehre zu erweisen.
Hoffe das hilft :)
quelle
onload
Versuchen Sie es mit readystatechange
wo Staaten sind:
DOMContentLoaded
window.onload
Code-Snippet anzeigen
quelle
Schauen Sie sich das domReady-Skript an , mit dem mehrere Funktionen eingerichtet werden können, die ausgeführt werden, wenn das DOM geladen wurde. Es ist im Grunde das, was der Dom bereit in vielen gängigen JavaScript-Bibliotheken macht, ist aber leichtgewichtig und kann am Anfang Ihrer externen Skriptdatei übernommen und hinzugefügt werden.
Anwendungsbeispiel
quelle
window.onload funktioniert folgendermaßen:
quelle