Frage:
$(document).ready
Was passiert, wenn ich zwei JavaScript-Dateien mit Funktionen verknüpfe ? Überschreibt einer den anderen? Oder werden beide $(document).ready
angerufen?
Zum Beispiel,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="http://.../jquery1.js"></script>
<script type="text/javascript" src="http://.../jquery2.js"></script>
jquery1.js:
$(document).ready(function(){
$("#page-title").html("Document-ready was called!");
});
jquery2.js:
$(document).ready(function(){
$("#page-subtitle").html("Document-ready was called!");
});
Ich bin sicher, es ist die beste Vorgehensweise, beide Anrufe einfach zu einem einzigen zu kombinieren, $(document).ready
aber in meiner Situation ist dies nicht ganz möglich.
javascript
jquery
rlb.usa
quelle
quelle
Antworten:
Alle werden ausgeführt und beim ersten Aufruf zuerst ausgeführt !!
Demo Wie Sie sehen, ersetzen sie sich nicht gegenseitig
Auch eine Sache möchte ich erwähnen
stattdessen
Sie können diese Verknüpfung verwenden
quelle
jQuery(document).ready(function(){ });
Es ist wichtig zu beachten, dass jeder
jQuery()
Anruf tatsächlich zurückkehren muss. Wenn eine Ausnahme in einer ausgelöst wird, werden nachfolgende (nicht verwandte) Aufrufe niemals ausgeführt.Dies gilt unabhängig von der Syntax. Sie können verwendet werden
jQuery()
,jQuery(function() {})
,$(document).ready()
, was Sie wollen, ist das Verhalten gleich ist. Wenn ein früher fehlschlägt, werden nachfolgende Blöcke niemals ausgeführt.Dies war ein Problem für mich bei der Verwendung von Bibliotheken von Drittanbietern. Eine Bibliothek hat eine Ausnahme ausgelöst, und nachfolgende Bibliotheken haben nie etwas initialisiert.
quelle
$(document).ready
Aufrufe hat einen Fehler ausgelöst und daher wurde$(document).ready
nie eine andere Funktion aufgerufen. Es hat mich verrückt gemacht.$ (Dokument) .ready (); ist das gleiche wie jede andere Funktion. Es wird ausgelöst, sobald das Dokument fertig ist - dh geladen. Die Frage ist, was passiert, wenn mehrere $ (document) .ready () ausgelöst werden, nicht wenn Sie dieselbe Funktion innerhalb mehrerer $ (document) .ready () auslösen
beide verhalten sich genau gleich. Der einzige Unterschied besteht darin, dass erstere die gleichen Ergebnisse erzielen. Letzteres läuft einen Bruchteil einer Sekunde schneller und erfordert weniger Eingabe. :) :)
abschließend, wo immer möglich, nur 1 $ (Dokument) verwenden .ready ();
// alte Antwort
Sie werden beide der Reihe nach angerufen. Die beste Vorgehensweise wäre, sie zu kombinieren. Aber mach dir keine Sorgen, wenn es nicht möglich ist. Die Seite wird nicht explodieren.
quelle
Die Ausführung erfolgt von oben nach unten. Wer zuerst kommt, mahlt zuerst.
Wenn die Ausführungsreihenfolge wichtig ist, kombinieren Sie sie.
quelle
Beide werden angerufen, wer zuerst kommt, mahlt zuerst. Schauen Sie hier .
Ausgabe:
quelle
Nicht um einen Thread zu nekrotisieren, sondern unter der neuesten Version
jQuery
der vorgeschlagenen Syntax ist:Mit einer anonymen Funktion würde dies so aussehen
Siehe diesen Link:
https://api.jquery.com/ready/
quelle