2016-03-21 44 views

Antwort

5

Einfache anwser, wenn das DOM/Document Object Model geladen wird, wenn das HTML geladen wird ..

Docs

-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.

So durch Ihr Bild: enter image description here

$ document.ready (fn) wird sich am Anfang des interaktiven Gesicht geladen werden, wenn der Dom loading ...

0

Wenn "abgeschlossen" hat funktioniert $ document.ready() wird ausgeführt? jQuery
Beschreibung: Geben Sie eine Funktion auszuführen, wenn der DOM voll beladen ist

.ready() kann mehrfach

.ready(handler)
Returns ausgeführt werden.

Wenn .ready() aufgerufen wird, nachdem die DOM 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); 
} 
Verwandte Themen