Ich hatte in letzter Zeit ein Problem mit meinem JavaScript-CODE und nahm einen Teil meines Codes aus meinem heraus $(document).ready()
und legte ihn in $(window).load()
das Problem.
Jetzt verstehe ich, dass window.load
das gleich danach abgefeuert wird document.ready
, aber warum ist es nicht bereit danach document.ready
, das ist danach window.load()
?
javascript
jquery
document-ready
Mark McCook
quelle
quelle
Antworten:
load
wird aufgerufen, wenn alle Assets einschließlich der Bilder geladen sind.ready
wird ausgelöst, wenn das DOM für die Interaktion bereit ist.Vom MDC aus window.onload :
Aus der jQuery-API-Dokumentation .ready (Handler) :
quelle
$(document).ready()
bedeutet, dass das DOM Ihrer Seite zur Bearbeitung bereit ist.window.load()
wird ausgelöst, wenn die gesamte Seite (einschließlich Komponenten wie CSS und Bilddateien) vollständig geladen wurde.Was versuchst du zu erreichen?
quelle
$(document).ready(function(){ //code here });
Der obige Code wird fast jedes Mal verwendet, wenn wir mit arbeiten
jQuery
.Dieser Code wird verwendet, wenn wir unsere
jQuery
Codes initialisieren möchten, nachdem das DOM bereit ist.$(window).load()
Manchmal möchten Sie Bilder bearbeiten. Sie möchten beispielsweise ein Bild vertikal und horizontal ausrichten und müssen dazu die Breite und Höhe des Bildes ermitteln. Mit können
$(document).ready()
Sie dies nicht tun, wenn der Besucher das Bild noch nicht geladen hat. In diesem Fall müssen Sie diejquery
Ausrichtungsfunktion initialisieren, wenn das Bild vollständig geladen ist . Dort setzen wir ein$(window).load()
quelle
$(document).ready
ist einjQuery
Ereignis, das ausgelöst wird, wenn DOM geladen wird. Es wird also ausgelöst, wenn die Dokumentstruktur bereit ist.$(window).load
Das Ereignis wird ausgelöst, nachdem der gesamte Inhalt (einschließlich CSS, Bilder usw.) geladen wurde.Das ist ein großer Unterschied.
quelle
$(document).ready()
ist DOM einwickeln<body>...</body>
$(window).load()
ist Papa von Document Wrap alle DOM in<html>...</html>
Lassen Sie uns in Ihrem Fall die Renderverarbeitung speichern.
quelle
In einfachen Worten,
window.load
wird aufgerufen, wenn der gesamte Inhalt des Fensters geladen ist, währenddocument.ready
aufgerufen wird, wenn das DOM geladen ist und die Dokumentstruktur bereit ist.quelle
Der Ladezustand ist der Zustand, in dem das Fensterobjekt erstellt und alle erforderlichen Komponenten einschließlich des DOM in den Speicher geladen wurden, jedoch nicht an die Rendering-Engine übergeben wurden, um dasselbe in der Seite zu rendern.
Der Bereitschaftszustand stellt andererseits sicher, dass die DOM-Elemente, Ereignisse und andere abhängige Komponenten an die Rendering-Engine weitergeleitet, auf Seite gerendert und für die Interaktion und Bearbeitung bereit sind.
quelle
$ (Dokument) .ready ist im Vergleich $ (Fenster) .load Event schnell.
$ (Dokument) .ready ist Feuer, wenn Dom geladen ist, aber $ (Fenster) .load Ereignis Feuer, wenn Dom, CSS und Bilder vollständig geladen sind.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="https://code.jquery.com/jquery-1.12.4.js" ></script> <script> $(window).load(function () { var img = $('#img1'); alert( "Image Height = " + img.height() + "<br>Image Width = " + img.width()); }); </script> </head> <body> <form id="form1" runat="server"> <div> <img id="img1" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTozkxoNSH8739juRXJJX5JxREAB6I30bFyexPoCdRVa2fKfH2d" /> </div> </form> </body> </html>
quelle
$(document).ready
ist ein jQuery-Ereignis. Es wird ausgelöst, sobald das DOM geladen und bereit ist, per Skript bearbeitet zu werden. Dies ist der früheste Punkt im Seitenladevorgang, an dem das Skript sicher auf Elemente im HTML-DOM der Seite zugreifen kann. Dieses Ereignis wird ausgelöst, bevor alle Bilder, CSS usw. vollständig geladen sind.window.load()
wird ausgelöst, wenn die gesamte Seite (einschließlich Komponenten wie CSS und Bilddateien) vollständig geladen wurde.quelle