it-swarm.com.de

jQuery-Ereignisse .load (), .ready (), .unload ()

Nur eine einfache Frage zum jQuery-Event. Werden .load (), .ready () und .unload () der Reihe nach ausgeführt, wenn das DOM geladen wird? Die Antwort scheint ja zu sein, wenn ich die jQuery-Dokumentation sehe.

<script type="text/javascript">

    $(window).load(function () {
        // run code
        initializeCode();
    });

    $(document).ready(function() {
        //run code that MUST be after initialize
    });

    $(window).unload(function() {
        Cleanup();
    });
</script>

Der Code in .ready () wird jedoch vor dem initializeCode () ausgeführt. ausführen, so fühle ich mich wirklich seltsam. Und jetzt muss ich meinen Code in die .onload () -Methode und direkt nach dem initializeCode () einfügen. Zeile, was bedeutet, innerhalb des .ready () Blocks zu sein.

Könnte mir jemand mehr darüber erklären, da ich neu bei jQuery bin?

69
Eric

HINWEIS: .load() & .unload() wurde nicht mehr unterstützt


$(window).load();

Wird ausgeführt, nachdem die Seite mit ihrem gesamten Inhalt geladen wurde. Dies bedeutet, dass alle Bilder, CSS (und von CSS definierte Inhalte, z. B. benutzerdefinierte Schriftarten und Bilder), Skripts usw. geladen werden. Dies geschieht, wenn ein Ereignis ausgelöst wird, wenn das "Stop" -Icon Ihres Browsers sozusagen grau wird. Dies ist sehr nützlich, wenn das Dokument mit seinem gesamten Inhalt geladen werden soll.

$(document).ready();

Dies wird jedoch ausgelöst, sobald der Webbrowser JavaScript ausführen kann. Dies geschieht, nachdem der Parser mit dem DOM fertig ist. Dies ist nützlich, wenn Sie JavaScript so schnell wie möglich ausführen möchten.

$(window).unload();

Dieses Ereignis wird ausgelöst, wenn Sie von der Seite aus navigieren. Dies kann Refresh/F5 sein, indem Sie auf die Schaltfläche der vorherigen Seite drücken, zu einer anderen Website navigieren oder das gesamte Tab/Fenster schließen.

Zusammenfassend wird ready () vor load () ausgelöst, und unload () wird als letztes ausgelöst.

126
Tower

das Fenster laden wartet, bis alle Ressourcen geladen sind.

document ready wartet auf die Initialisierung des Dokuments.

gut entladen, wartet, bis das Dokument entladen ist.

die Reihenfolge ist: Dokument bereit, Fenster laden, ... ... ... Fenster entladen.

Verwenden Sie immer document ready, es sei denn, Sie müssen warten, bis Ihre Bilder geladen sind.

abkürzung für Dokument bereit:

$(function(){
    // yay!
});
11
David Murdoch

Wenn beide "document.ready" -Varianten verwendet werden, werden beide in der Reihenfolge ihres Erscheinens ausgelöst

$(function(){
    alert('shorthand document.ready');
});

//try changing places
$(document).ready(function(){
    alert('document.ready');
});
6
ljgww

Ich bemerkte auch einen weiteren Unterschied zwischen .load und .ready. Ich öffne ein untergeordnetes Fenster, und ich verrichte einige Arbeit, wenn sich das untergeordnete Fenster öffnet. .load wird nur beim ersten Aufruf des Fensters aufgerufen. Wenn ich das Fenster nicht schließe, wird .load nicht erneut aufgerufen. .ready wird jedoch jedes Mal aufgerufen, unabhängig davon, ob das untergeordnete Fenster geschlossen wird oder nicht. 

0
Praveen Singh