Die Reihenfolge, in der die gebundenen Callbacks aufgerufen werden, wird von den Ereignisdaten jedes jQuery-Objekts verwaltet. Es gibt keine Funktionen (die ich kenne), mit denen Sie diese Daten direkt anzeigen und bearbeiten können. Sie können nur bind() und unbind() (oder eine der entsprechenden Hilfsfunktionen) verwenden.
Dowskis Methode ist am besten, Sie sollten die verschiedenen gebundenen Callbacks ändern, um an eine geordnete Folge von benutzerdefinierten Ereignissen zu binden, wobei der "erste" Rückruf an das "echte" Ereignis gebunden ist. Auf diese Weise wird die Sequenz in der richtigen Reihenfolge ausgeführt, egal in welcher Reihenfolge sie gebunden sind. Die einzige Alternative, die ich sehen kann, ist etwas, das Sie wirklich, wirklich nicht betrachten möchten: Wenn Sie wissen, dass die Bindungssyntax der Funktionen vor Ihnen gebunden worden sein könnte, versuchen Sie, alle diese Funktionen zu lösen und dann binden Sie sie in der richtigen Reihenfolge selbst wieder zusammen. Das verlangt nur Ärger, denn jetzt hast du Code dupliziert.
Es wäre cool, wenn Sie mit jQuery einfach die Reihenfolge der gebundenen Ereignisse in den Ereignisdaten eines Objekts ändern könnten, ohne jedoch etwas Code in den jQuery-Kern zu schreiben, der nicht möglich erscheint. Und es gibt wahrscheinlich Implikationen dafür, das zu erlauben, woran ich nicht gedacht habe, vielleicht ist es eine absichtliche Unterlassung.
Es ist wichtig zu beachten, dass dies auch nur für Ereignisse funktioniert, die über jQuery hinzugefügt wurden. – Grinn
dies funktioniert nicht mehr, da es 'this.data (" events ")' verwendet, siehe hier http://stackoverflow.com/questions/12214654/jquery-1-8-find-event-handlers – Toskan
Es gibt ein ähnliche Funktion, die für jQuery 1.8 hier aktualisiert wurde: http: // stackoverflow.com/a/2641047/850782 – EpicVoyage