2010-12-17 11 views
17

Wie oft ist es erlaubt, die jQuery-Dokument bereit Funktion auf einer Seite erklärt haben, d.h .:Wie oft kann ich jQuery's Document Ready-Funktion auf einer Seite deklariert haben?

$(function() { ... }); 

oder

$(document).ready(function() { ... }); 

Gibt es einen Unterschied zwischen den beiden?

Wenn es mehr als eins erlaubt ist, feuern sie in der Reihenfolge der Deklaration?

+1

42 ... oder: genau so oft wie möglich '$ (element) .click (function() {...})' für das gleiche Element;) –

Antwort

16

Eins: Es gibt keinen Unterschied zwischen den beiden.

Zitat:

All three of the following syntaxes are equivalent: 

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

Zwei: Sie können so viele von ihnen haben, wie Sie wollen, und sie werden in der Reihenfolge ausgeführt werden, dass die $() oder $(document).ready() Funktionen ausgeführt werden. (dh jeder Handler wird zur Warteschlange hinzugefügt)

+8

Bemerkung: Wenn das OP fragt "wie viele", ist es am besten, nicht mit "Eins" zu antworten. –

13

So viele, wie Sie brauchen.

Die Funktion document ready fügt eine Ereigniswarteschlange hinzu - die Funktionen in diesen Deklarationen werden alle ausgeführt, entweder im document.ready-Ereignis oder sofort, wenn das Ereignis bereits ausgelöst wurde, in der Reihenfolge der Deklaration.

2

So oft wie Sie möchten. Sie feuern in der Reihenfolge der Erklärung.

$(document).ready() wird ausgelöst, wenn das Dokument fertig ist (wenn es vom Browser geladen wird). Der andere wird ausgelöst, sobald dieser Teil des Skripts ausgeführt wird.

+1

* "Sie feuern in der Reihenfolge der Deklaration." * Nein, sie feuern in der Reihenfolge der * Ausführung * (die Reihenfolge, in der Sie die 'ready' oder hyper-overloaded' $ 'Funktion ausgeführt haben). Sie können Ihre Funktion, an die Sie diese weitergeben, deklarieren *. (Ein kleiner Punkt, aber Genauigkeit kann wirklich mit diesen Dingen zusammenhängen.) Http://jsbin.com/ulevi3 –

+0

'$ (function() {...})' ist tatsächlich äquivalent zu $ ​​(document) .ready (Funktion() {...}) ' –

+0

Die * andere *? Welcher andere? Der erste? Es ist genau das Gleiche, nur Kurzschriftsyntax. –

Verwandte Themen