In der folgenden Parsing-PhaseWann wird document.ready() aufgerufen?
Wann bekommen ausgeführt $ document.ready()?
In der folgenden Parsing-PhaseWann wird document.ready() aufgerufen?
Wann bekommen ausgeführt $ document.ready()?
Einfache anwser, wenn das DOM/Document Object Model geladen wird, wenn das HTML geladen wird ..
-Code in $ enthalten (document) .ready() wird nur einmal die Seite laufen Das Document Object Model (DOM) ist bereit für die Ausführung von JavaScript-Code.
erklärte ich es auch gut hier:
https://discuss.codecademy.com/t/window-onload-vs-document-ready/19000
Wo ich sagte:
jQuery document.ready Ihr Code ausgeführt wird, wenn die HTML alles fertig ist , aber bevor Bilder und andere Ressourcen beendet sind. Dies ist der frühestmögliche Zeitpunkt, an dem Sie das DOM mit JavaScript ändern können, daher ist es weit verbreitet. In modernen Browsern wie Google Chrome wird es durch DOMContentLoaded3 ersetzt. Wieder mehr Infos hier.
$ document.ready (fn) wird sich am Anfang des interaktiven Gesicht geladen werden, wenn der Dom loading ...
Wenn "abgeschlossen" hat funktioniert $ document.ready() wird ausgeführt?
jQuery
Beschreibung: Geben Sie eine Funktion auszuführen, wenn derDOM
voll beladen ist
.ready()
kann mehrfach
.ready(handler)
Returns ausgeführt werden.Wenn
.ready()
aufgerufen wird, nachdem dieDOM
initialisiert wurde, wird der neue übergebene Handler sofort ausgeführt.Die Methode
.ready()
kann nur bei einem jQuery-Objekt aufgerufen werden, das dem aktuellen Dokument entspricht, daher kann der Selektor weggelassen werden.
n = -1;
function ready() {
document.getElementsByTagName("p")[0].textContent += "ready " + ++n + "\n";
}
$(document).ready(ready);
$(document).ready(function() {
ready();
$(document).ready([function() {
ready()
},
function() {
$(document).ready(function() {
ready();
$(document).ready([
function() {
ready()
}, function() {
ready()
if (n === 5) $(document).ready(function() {ready()})
}]);
})
}
])
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<body>
<p></p>
</body>
See soruce bei ready.js
if (document.readyState === "complete" ||
(document.readyState !== "loading" && !document.documentElement.doScroll)) {
// Handle it asynchronously to allow scripts the opportunity to delay ready
window.setTimeout(jQuery.ready);
} else {
// Use the handy event callback
document.addEventListener("DOMContentLoaded", completed);
// A fallback to window.onload, that will always work
window.addEventListener("load", completed);
}
Wenn das DOM geladen werden. – DinoMyte
zu Beginn der "Interactive Phase" – dandavis
Verstehst du jetzt Überaustausch? – amanuel2