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?
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();
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 ...
Nein, sie überschreiben sich nicht gegenseitig. Sie stehen Schlange, wie du gesagt hast.