2010-04-14 10 views
7

Ich bin Neuling zu jQuery, versuche gerade, es seit den letzten paar Tagen zu lernen. In meinem Büro gibt es wenige Erfahrung JavaScript-Entwickler und sie arbeiten hauptsächlich mit jQuery für alle ihre Bedürfnisse und wann immer ich bekam und mit ihnen zu reden, um ein besseres Verständnis zu bekommen, wie jQuery funktioniert und zuerst sagen, dass auf $(document).(ready) Sie dies tun und weiter $(document).(ready) tust du das.

Also meine Hauptfrage ist Was ist die $(document).(ready) und wie funktioniert es wirklich?

Alle Eingaben würden sehr geschätzt werden.

aktualisieren: In den akzeptierten Antworten Kommentar gibt es auf erwähnen Wenn DOM bereit ist, so tut, was das wirklich bedeutet?

+0

Überprüfen Sie die Antwort von Felix King. – Pointy

Antwort

9

$ (Dokument) .ready() wird ausgelöst, sobald das DOM vollständig geladen und zur Bearbeitung bereit ist. Dies verhindert, dass der Code ausgelöst wird, bevor die Objekte, gegen die er agiert, vorhanden sind. $ (Document) .ready() ist die ausführliche Version davon und kann mit jedem dieser Aussagen ersetzt werden ...

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 
$(document).bind("ready", handler) 

Siehe here für die Dokumentation.

+1

Nur um klar zu sein: '$ (document) .ready()' feuert, sobald das * DOM * vollständig geladen ist, nicht unbedingt nachdem die * Seite * geladen wurde. Dieses Ereignis kann ausgelöst werden, bevor beispielsweise Bilder vollständig heruntergeladen werden. – Tim

+0

@Tim - richtig, ich werde meine Antwort zu klären. –

+1

FYI, ab jQuery 1.4, '$()' gibt ein leeres jQuery-Set zurück, also ist es nicht äquivalent zu '$ (document)'. Ihr zweites Beispiel wird in 1.4 nicht funktionieren. – kevingessner

1

$ (Dokument). (Bereit) wird aufgerufen, sobald alle Elemente Ihrer Seite geladen sind. Dies ermöglicht Ihnen, Dinge wie Ereignishandler vertrauensvoll einzurichten, da Sie wissen, dass alle Elemente vorhanden sind.

1

Document Ready bezieht sich auf das Ereignis, das von jQuery/JavaScript ausgelöst wird, wenn das gesamte HTML-Dokument und alle seine Elemente geladen und für die Bearbeitung bereit sind.

Die Art und Weise, wie der Browser Elemente lädt, rendert sie, während die Seite heruntergeladen wird. Wenn Sie ein Skript haben, das zu früh ausgeführt wird, besteht das Risiko, dass das Skript fehlschlägt.

Sie verwenden also Dokument bereit, um sicherzustellen, dass es nur ausgeführt wird, wenn die gesamte Seite bereit ist. Hier

ist ein Beispiel ... Dies wird gedruckt „Hallo“, wenn das gesamte Dokument erfolgt in Ihrem Browser geladen:

$(document).ready(function(){ 
    alert('hello'); 
}); 
3

Ich denke, es ist am besten in den tutorial beschrieben:

Startcode auf Dokument bereit

Das erste, was die meisten JavaScript-Programmierer am Ende machen, ist das Hinzufügen von Code zu ihrem Programm, si Ähnlichkeit zu dieser:

Innerhalb von denen ist der Code, den Sie ausführen möchten, wenn die Seite geladen wird. Problematisch ist jedoch, dass der Javascript-Code erst ausgeführt wird, wenn alle Bilder heruntergeladen sind (einschließlich Bannerwerbung). Der Grund für die Verwendung von window.onload an erster Stelle ist, dass das HTML-Dokument noch nicht fertig geladen ist, wenn Sie zuerst versuchen, Ihren Code auszuführen.

beiden Probleme zu umgehen, jQuery eine einfache Erklärung hat, die das Dokument überprüft und wartet, bis es fertig ist manipuliert zu werden, wie das Ereignis ready bekannt:

$(document).ready(function(){ 
    // Your code here 
}); 

Oder kurz gesagt, es garantiert, dass jedes Element des Dokuments geladen wird, so dass Sie darauf zugreifen können, aber es wartet nicht, bis die Bilder geladen sind.

1

Das DOM bedeutet Document Object Model. Sie können mehr darüber lesen here. So

$ (document) .ready()

sobald das DOM abgefeuert wird vollständig von Ihrem browser.Since Javascript geladen ist, wird in Ihrem Browser ausgeführt wird, würden wir nur gerne die Ausführung beginnen, sobald der Browser kennt jeder Element auf der Seite, auf der das Skript ausgeführt werden soll.

0

es genau wie window.onload Ereignis

außer es dosent alle binären Daten, wie Bild warten Laden abzuschließen

das ist entscheidend, wenn u mit dom arbeiten wollen, weil u wollen dosent Ihren Code Zugriff DOM-Element, dass Dosent existieren

Verwandte Themen