Ich weiß, Aufrufe an $ (function () {}) in jQuery werden in der Reihenfolge ausgeführt, in der sie definiert sind, aber ich frage mich, ob Sie die Reihenfolge der Warteschlange steuern können?
Zum Beispiel ist es möglich, "Hello World 2" vor "Hello World 1" anzurufen:
%Vor%Die Frage ist, ob es möglich ist oder nicht ... Ich weiß bereits, dass es gegen die beste Praxis ist;)
Diese Funktionen werden zu einem privaten Array readyList
hinzugefügt, also würde ich sagen, dass es für Manipulationen nicht zugänglich ist.
Hier ist, wie Sie es tun würden:
%Vor%Sie können mehr darüber hier
lesenSie können jQuery versprechen verwenden, um so etwas zu erreichen.
Im Folgenden finden Sie ein Beispiel, in dem jQuery.ready.promise beim Verwalten der Ausführungsreihenfolge von DOM-fähigen Blöcken hilft:
Im folgenden Beispiel versucht der erste DOM Ready-Block, auf die Höhe des Test-Div zuzugreifen, das an den Body in einem späteren DOM-Ready-Block angehängt wird. Wie in der Fiddle wird es nicht verstanden.
%Vor%Geige: Ссылка
Im folgenden Beispiel wird genau wie im Beispiel vor der Verwendung von jQuery.ready.promise vorgegangen. Wie in der Fiddle funktioniert es wie gewünscht.
%Vor%Geige: Ссылка
Es kann gemacht werden, aber nicht leicht. Sie müssten jQuery selbst hacken, wahrscheinlich hier . Bevor jQuery diese Funktionen in der while
-Schleife aufruft, müssen Sie Code hinzufügen, um das readyList
-Array zu inspizieren und die Elemente nach Ihren Wünschen umzuordnen.
Tags und Links jquery domready document-ready