Was ist der Unterschied zwischen $(window).load(function() {})
und $(document).ready(function() {})
in jQuery?
216
document.ready
Wenn es sich um ein jQuery-Ereignis handelt, wird es ausgeführt, wenn das DOM bereit ist, z. B. müssen alle Elemente gefunden / verwendet werden, aber nicht unbedingt alle Inhalte .window.onload
Wird später (oder gleichzeitig im schlimmsten Fall) ausgelöst, wenn Bilder und dergleichen geladen werden. Wenn Sie beispielsweise Bildabmessungen verwenden, möchten Sie diese häufig stattdessen verwenden.
$(document).ready(function(){})
is$(function(){})
und ein weiterer wichtiger Unterschied zum window.load besteht darin, dass es bei ALLEN zukünftigen Aufrufen der Funktion ausgeführt wird, auch nach dem ersten DOMready.$(window).on('load')
. Beide verweisen auf das Ladeereignis .it will run on ALL future calls of the function
?$(document).ready
Code ausführt , nachdem das DOM bereit ist. Das ist ein so kleiner Anwendungsfall, dass es wahrscheinlich nicht wert war, alle mit der Erwähnung zu verwechseln. 2) Die UMWELT ruft nur$(document).ready(function(){})
einmal an, wenn das DOM bereit ist. Wenn der Benutzer aus irgendeinem Grund mehr ausführt,$(document).ready
nachdem das DOM bereit ist, wird es sofort ausgeführt.quelle
Das
$(window).load()
ist in jQuery 3.0 NICHT verfügbarUm dies zu umgehen, können Sie es als "Event-Handler-Anhang" verwenden.
quelle
Der Unterschied ist:
$(document).ready(function() {
ist ein jQuery-Ereignis, das beim Laden des DOM ausgelöst wird. Es wird also ausgelöst, wenn die Dokumentstruktur bereit ist.$(window).load()
Ereignis wird ausgelöst, nachdem der gesamte Inhalt geladen wurde.quelle
window.load wird ausgelöst, nachdem der gesamte iframe-Inhalt geladen wurde
quelle
$(document).ready
tritt auf, wenn alle Elemente im DOM vorhanden sind, aber nicht unbedingt alle Inhalte.window.onload
oder$(window).load()
geschieht, nachdem alle Inhaltsressourcen (Bilder usw.) geladen wurden.quelle
Aus der Perspektive von jquery - es ist nur das Hinzufügen
load
/onload
Ereignis zu Fenster und Dokument. Überprüfen Sie dies heraus:window.onload vs document.onload
quelle
document.ready (jQuery) document.ready wird direkt ausgeführt, nachdem das HTML-Dokument geladen wurde und das DOM bereit ist.
DOM: Das Document Object Model (DOM) ist eine plattformübergreifende und sprachunabhängige Konvention zur Darstellung und Interaktion mit Objekten in HTML-, XHTML- und XML-Dokumenten.
window.load (integriertes JavaScript) Das window.load wartet jedoch darauf, dass die Seite vollständig geladen wird. Dies schließt innere Frames, Bilder usw. ein. * window.load ist eine integrierte JavaScript-Methode, von der bekannt ist, dass sie einige enthält Macken in alten Browsern (IE6, IE8, alte FF- und Opera-Versionen), funktionieren aber im Allgemeinen in allen.
window.load kann im folgenden Onload-Ereignis des Körpers verwendet werden (ich würde jedoch dringend empfehlen, das Mischen von Code wie diesem im HTML-Code zu vermeiden, da dies später zu Verwirrung führen kann):
quelle
quelle
Ich denke, das
$(window).load
Ereignis wird von JQuery 3.x nicht unterstütztquelle
Laut DOM Level 2 Events soll das
load
Event ausgelöst werdendocument
, nicht eingeschaltetwindow
. Allerdingsload
wird implementiert , aufwindow
in allen Browsern für die Abwärtskompatibilität.quelle