Unterschied zwischen pageLoad , onload & $(document).ready()
muss ich im detail wissen, was die Unterschiede zwischen pageLoad , onload & $(document).ready()
Fand ich die Antwort aber das ist nicht ver mir klar.
die Antwort ist wie
Das ready-Ereignis tritt auf, nachdem das HTML-Dokument geladen wurde, während ein onload-Ereignis Auftritt, später, wenn alle Inhalte (z.B. Bilder) auch geladen wurde.
Dem onload-Ereignis ist ein standard-event im DOM, während die ready-Ereignis ist spezifisch für jQuery. Der Zweck der ready-Ereignis ist, dass es sollte so bald wie möglich erfolgen, nachdem das Dokument geladen wurde, so dass code, fügt Funktionalität, um die Elemente in die Seite muss nicht warten, bis alle Inhalte geladen werden.
die person, die versucht zu sagen, ready-Ereignis tritt auf, nachdem das HTML-Dokument geladen wurde
und ein onload-Ereignis Auftritt, nachdem alle Seiten-Elemente wie Bild usw. geladen werden.
Also, was ist HTML-Dokument laden? Ich weiß, HTML-Dokument laden bedeutet, dass alle Seiten-element laden abgeschlossen.
Was bedeutet wie dom bereit ist oder geladen? Was ist der Unterschied zwischen HTML-Dokument laden & dom-laden?
Bitte machen Sie mir zu verstehen, mit Beispiel.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, was du meinst mit dem laden von Seiten, aber hier ist einige info über
onload
und$(document).ready()
.window.onload
feuert, wenn alles in die Seite geladen wurde. Das bedeutet, dass nicht nur das gesamte DOM geladen ist, aber die verlinkten Ressourcen wie Bilder vollständig geladen sind. Denn dieser wartet, bis die Bilder geladen, kann es manchmal lange dauern, um das Feuerwindow.onload
. Es sei denn, Sie wirklich brauchen, zu warten, bis die Bilder vollständig geladen sind, werden Sie nicht in der Regel wollen so lange warten, um zu starten Ihre javascript-Code, ändert die Seite mit Haken oder eine up-Ereignis-Handler, etc...$(document).ready()
ist ein jQuery-spezifisches Ereignis, das ausgelöst wird, sobald das DOM bereit ist, für manipulation, für die aber möglicherweise lange bevor die Bilder fertig laden. Dies geschieht nach allen Objekten, die in der HTML-Seite wurden analysiert und initialisiert, indem Sie den browser und nach alle Skripte in der Seite geladen wurden. Im moment dieser Veranstaltung, es ist sicher zu ändern, den DOM in allen Browsern. Dies kann auch auftreten, ein wenig früher oder später in einigen Browsern, wie der Mechanismus für die Erkennung, wenn das DOM ist sicher geladen variiert zwischen älteren und neueren Browsern.Den jQuery 1.6.x Durchführung für
$(document).ready()
verwendet eine Reihe von verschiedenen Erkennungsmechanismen für, wenn das DOM bereit ist. Die bevorzugte Methode ist, wenn dieDOMContentLoaded
Ereignis auslöst, auf das document-Objekt. Aber dieses Ereignis ist nur unterstützt von einigen Browsern so hat es den fallback-Mechanismen für andere Browser.Diese beiden Ereignisse werden ausgelöst, nur einmal pro Seite.
$(document).ready
, aber nicht das gleiche... aus irgendeinem Grund, er setzt jedoch aufsetTimeout
- die sollte es Recht unzuverlässig, IMO.Zeichnen wir eine Analogie zu vergleichen, den Prozess der laden einer web-Seite einem Koch mit einem Rezept:
Erste, der chef (browser) liest das gesamte Rezept (downloads HTML-Dokument), um sicherzustellen, dass er versteht, die Schritte (HTML-code) und dass er weiß, welche Zutaten (Bilder), Besteck (style sheets) und Geräte (externe Skripte), wird er brauchen, um in seiner Küche (browser-cache).
Als chef weiterhin Lesen, schickt er seine Assistentin die Vorratskammer um die Zutaten, Utensilien und Geräte (download der anderen Dateien aus dem server). Wenn er fertig ist zu Lesen das Rezept (
$(document).ready()
), fängt er an, führen Sie die Schritte (Anzeige der Seite), aber manchmal bekommt er einen Schritt, bevor sein Assistent kehrt mit den notwendigen Materialien, um abgeschlossen diesen Schritt. Er ist Recht geschickt, aber so ist er immer noch in der Lage, um die späteren Schritte, während er wartet. (Die Analogie bricht eben hier ein bisschen, aber im Grunde: der browser stellt die Seite so gut es kann, basierend auf dem HTML; wenn Sie sehen, eine Seite zu laden und dann die Schriften oder das layout ändern, nach ein paar Sekunden, weil es endlich das Stylesheet... Stell dir vor, dass dieser chef ist irgendwie in der Lage, fügen Sie die Eier, um einen Kuchen, der schon in den Ofen.)Erst nach dem Koch-Assistent gebracht hat alles identifiziert, die in dem Rezept zurück in die Küche (der browser geladen hat, alle Inhalte), die der Koch der fertigen Mahlzeit auf den Teller und garnieren Sie Sie (führen Sie die
onload
Ereignis-code).Der DOM ist das Dokument-Objekt-Modell, einen wesentlichen Bestandteil der ordentlichen JavaScript. Dies bedeutet, dass alle modernen web-Browser, die bereits wissen, was
onload
bedeutet.jQuery ist eine weit verbreitete JavaScript-Bibliothek. Damit das Skript richtig zu verwenden
$(document).ready()
haben Sie einen link zu einer Kopie der jQuery-Bibliothek. Browser weiß nicht, was$(document).ready()
bedeutet ohne jQuery.