Ausführen einer Funktion, bevor Sie $(document).ready () - Trigger

Ich angehängt habe mehrere Funktionen in mehreren Dateien in $(document).bereit und möchten, schließen Sie eine einzelne Funktion zu passieren, bevor Sie entweder als erste, dass $(document).bereit Griffe oder unabhängig voneinander auslösen, bevor die $(document).ready-handler.

Gibt es eine Möglichkeit, zu behandeln, die Reihenfolge der Funktionen, die jQuery Trigger intern als Teil von jQuery.fn.bereit oder Haken in eine Funktion, die Anrufe kurz vor jQuery.fn.bereit.

Ist die Bearbeitung jQuery.fn.bereit in eine 3rd-party-Skript sicher zu machen-oder wird es dazu führen, dass schreckliche knock-on-Effekte in andere 3rd-party-plugins (abgesehen von plugins die Bearbeiten jQuery.fn.selbst bereit)

[Edit]:

als Beispiel

$(document).ready(function b() {});
....
$(document).ready(function a() {/* optional setup*/});
....
$(document).ready(function c() {});

Funktion passieren muss, um die zunächst irrelevant in Ordnung, aber nur aufgerufen wird, wird auf ein paar Seiten. Ich kann nicht garantieren, um von b oder c, so frömmle ich, trigger, benutzerdefinierte Ereignisse am Anfang von b oder c ausgelöst wird.

So möchte ich eine generische Lösung, die ich verwenden können, um mit Nachdruck zu Ort a zu Beginn der jQuery-interne readyList oder Haken in die jQuery-ready-Funktion und Bearbeiten Sie es sicher so fordert es ein, bevor die anderen Funktionen in der readyList.

[Weitere Bearbeiten]

Wenn möglich, würde ich lieber nicht haben, um die Umgestaltung der Ausführung von javascript-code um, oder Tippen Sie auf einen anderen code abgesehen von der Funktion ein(). Ich bin mir bewusst, dass die Umstrukturierung würde mir erlauben, dieses problem zu umgehen, aber ich würde lieber schreiben Sie einfach eine einzelne Funktion wie

$.beforeReady(function a() {});
Was werden Sie tun, wenn Sie müssen code hinzufügen, der ausgeführt wird, bevor die beforeReady Funktion? Fügen Sie eine beforeBeforeReady? Manchmal müssen Sie nur den sauren Apfel beißen und tun, was getan werden muss, und korrigieren Sie den code, damit es Sinn macht.
Sie können haben eine gültige Punkt. Trotzdem würde ich lieber erstellen Sie eine beforeReady ersetzt dann alle vorkommen .bereit mit .bind("geladen"), und das ersetzen beforeReady mit .bind("setup")
Dieses problem sollte behoben sein in der nächsten version von jQuery: github.com/jquery/jquery/pull/80
sind Ihre Bezugnahme auf die Tatsache, dass er Staaten, die bereit system wird eine überholung mit 1.5 ?
Ich weiß nicht, die aktuelle Zeitleiste für die überholung, um den Kern, oder, wenn dieser spezifischen änderung Hinzugefügt werden. Ich meinte, Sie zu teilen, es ist ein bekanntes Problem und wird behoben werden in einer zukünftigen version. Sorry =(

InformationsquelleAutor Raynos | 2010-11-04

Schreibe einen Kommentar