2014-02-13 18 views
22

Gibt es irgendwelche Vorteile der Verwendung der Jquery ready() -Funktion über window.onload?Jquery .ready() vs window.onload

// Jquery ready 
$(document).ready(function() { 

}); 

// window.onload 
window.onload = function() { 

} 
+2

gut für den Anfang, die jQuery-Version verwendet, wird nicht andere Code Bemühungen überschreiben, etwas zu einem Lastzustand zu befestigen. Aber auf jeden Fall ist 'document.ready' nicht dasselbe Ereignis wie' window.onload' –

+1

Diese Frage hat eine bessere Antwort als die, mit der das Original verknüpft ist. – nroose

Antwort

37

Hängt davon ab, was Sie tun möchten.

  • jQuery ready wird Ihren Code ausführen, wenn der HTML-Code fertig ist, aber bevor Bilder und andere Ressourcen fertig 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 wird es durch das native Ereignis DOMContentLoaded ersetzt).
  • window.onload (das load Ereignis) läuft nach alles ist fertig geladen. Bilder, Flash und einige Skripte, aber normalerweise keine Stylesheets. Verwenden Sie dies für Code, der nur ausgeführt werden sollte, wenn die Seite nicht mehr geändert wird.
  • Auch mit window.onload können Sie nur einen Listener anhängen, aber Sie können beliebig viele mit jQuery anhängen. Zum Anbringen mehr als ein Ereignis auf window.onload verwenden addEventListener:

    window.addEventListener('load', function() { 
    
    }, false); 
    
    2

    Ja, window.onload ermöglicht Ihnen, nur einen Listener zu haben. jQuery ready hängt so viele Listener an, wie Sie möchten.

    2

    Windows.onload wartet auf das Laden aller Elemente auf einer Seite mit Bildern. Document.ready wird ausgelöst, sobald das HTML geladen ist.

    Verwandte Themen