Mehrere $ (Dokument) .ready-Funktionen [doppelt]

8

Wenn ich mehrere $(document).ready(...) -Funktionen habe, überschreiben sie sich gegenseitig? Um zu argumentieren, tue so, als ob die richtige Kodierung hier rausgeschmissen wird.

Angenommen, ich habe eine $(document).ready(function() {...}); in der Skriptdatei meiner Site. Dann verwende ich ein Drittanbieter-Plugin, das auch $(document).ready(function() {...}); verwendet. Überschreibt dies meine bereits erstellte Funktion oder "queue" jQuery diese Funktionen, um alle auszuführen, wenn das Dokument fertig ist?

    
Spidy 21.07.2011, 00:33
quelle

2 Antworten

16

Nein, sie übersteuern sich nicht gegenseitig. Jede Funktion wird ausgeführt.

Sie können das natürlich selbst überprüfen: Ссылка

Oder verstehen Sie den jQuery-Code selbst:

Zeile 255 ist die ready-Funktion, in der der jQuery.bindReady(); aufgerufen wird, der unter anderem das Objekt readyList in Zeile 429 mit readyList = jQuery._Deferred();

initialisiert

Und sobald es ein verzögertes Objekt ist, wird die übergebene Funktion angehängt mit readyList.done( fn ); und wir können in der done -Methode in Zeile 41, dass das Element zu einem Array mit callbacks.push( elem ); hinzugefügt wird, so dass jeder separat gespeichert wird ...

    
davin 21.07.2011, 00:35
quelle
4

Nein, sie überschreiben sich nicht gegenseitig. Sie stehen Schlange, wie du gesagt hast.

    
FishBasketGordo 21.07.2011 00:35
quelle

Tags und Links