Fensterladen in einem Dokument bereit?
Sorry, wenn dies wurde beantwortet vor, aber alle Recherchen sprechen über die Unterschiede, nicht über die beiden zusammen, wenn möglich.
Einfach, kann $(window).load.(function() {})
verwendet werden INNERHALB von $(document).ready.(function() {})
?
Ich habe einige Dinge, die getan werden sollte, nachdem der DOM geladen ist, aber dann möchte ich zeigen bestimmte Elemente erst, nachdem die Bilder fertig laden. Das einzige, was funktioniert im Explorer 8 setzen Sie die $(window).load
Funktionen innerhalb der $(document).ready
alles andere.
Ist das zulässig?
Möchte ich nur verwenden die meisten akzeptable Methode zu zeigen, ein DIV
enthält kleine Bilder, wie eine Symbolleiste, nachdem es vollständig aufgebaut. (visibility
hidden
versus display
none
, zum Beispiel). Der HTML-Code für diese DIV
geschrieben wird der code innerhalb der $(document).ready
und dann angehängt, um den Körper mit $('body').append()
bevor Sie die $(window).load
.
Ich habe viele Probleme mit Explorer 8.
InformationsquelleAutor der Frage Sparky | 2011-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert gut und ist eine akzeptable Praxis. Nachdem alle, wie Sie es beschreiben, kann es Fälle geben, wo die Logik in der
$(window).load()
handler hängt von Arbeit stattfindet, nachdem der DOM fertig ist. Wenn das Fenster ist in der Tat bereits geladen ist, durch die Zeit, Sie setzen$(window).load()
, der handler wird nur sofort Feuer.InformationsquelleAutor der Antwort Ken Redler
EDIT:
HINWEIS: Diese Antwort gilt nur für jQuery v2 und unten.
jQuery
.ready()
- Ereignis:jQuery
.load()
event Methode:Basierend auf der jQuery-Dokumentation erwähnt, ich habe nichts gesehen, dass darauf hindeuten würde, irgendwelche Probleme mit dem folgenden:
Stellen einer
.load
innerhalb einesready
einfach garantiert, dass das DOM ist fertig, wenn dieload
ausgelöst wird.Kann man wollen, um Platz alle jQuery-code innerhalb eines einzelnen DOM-ready-handler, und noch vielleicht noch ein sub-set von jQuery-code, der erfordert, dass alle Bilder zuerst geladen werden. Diese Anordnung garantiert, dass alle Codes werden nur dann ausgelöst, wenn auf DOM-ready und der rest wird ausgelöst, später, wenn die Seite assets fertig geladen ist.
Dies kann letztendlich mehr eine Frage der persönlichen Präferenz, jedoch ist die OP wurde ganz klar gefragt, ob diese Anordnung würde zu Problemen führen. Dies hat nicht bewiesen, um wahr zu sein.
InformationsquelleAutor der Antwort
WARNUNG:
Die Antworten in dieser Frage sind ziemlich veraltet.
Als @ViRuSTriNiTy erwähnt in den Kommentaren, dass dieser code ist nicht mehr gültig, in jQuery 3 und es war wie erwähnt ein Problem auf GitHub.
Deshalb wird dies Methode nicht empfohlen, mehr.
Einen Weg, es zu tun ist, verwenden Sie den folgenden code
Aber dieser code funktioniert nicht, wenn Sie das laden von Bildern in bereit und möchten, rufen Sie einige code, nachdem es vollständig geladen ist.
InformationsquelleAutor der Antwort Abkarino
Ich lief in dieses problem vor kurzem... von jQuery-version 3, können wir nicht mehr setzen $(window).auf('load') im Dokument.ready()... weil ready-handler aufgerufen werden asynchron, was bedeutet, bereit können aufgerufen werden, nachdem laden.
Vom jQuery Core Team: Github: jQuery 3 Fragen
Dies ist, wie die beiden Methoden aufgerufen werden soll:
InformationsquelleAutor der Antwort Hooman