jquery mehrere event-Handler
Ich habe event-Handler nach Ihrer Klassennamen in das neueste Projekt, an dem ich arbeite.
für ex. alle element mit dem class-name "foo" reagieren sollten, die sich in besonderer Weise auf change-Ereignis. und alle Elemente mit dem class-name "bar" sollte reagieren auf andere Weise.
Nun einige meiner Elemente fallen unter beide Klassen, also class="foo bar", und Sie reagieren sollten, in beide Richtungen. Jetzt, nur eine der event-handler-Funktion aufgerufen wird.
Wie kann ich das machen beide Antworten gleichzeitig ausführen.
- Kurze Antwort, können Sie nicht. Wird ausgeführt, bevor die anderen. Gleichzeitige ist nicht möglich, aber beide sollten ausführen, in der Reihenfolge, in der Sie erhoben wurden. Können Sie uns etwas code zu sehen?
- Sie können nicht führen beide Veranstaltungen
"simultaneously"
. übrigens, was sind dieseevents
irgendwie kommt es auch auf die Ereignisse
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt davon ab, wie Sie die Bindung der Ereignisse. Wenn Sie verbindlich sind diese über jQuery und nicht überschreiben die Handler über
x.onchange = function() { ... }
- alle gebundenen event-Handler wird ausgeführt. Dies ist, weil jQuery Warteschlangen der event-Handler anstelle von überschreiben der vorherigen Bindung(en).Überprüfen Sie diese
fiddle
zu sehen mehrere events gefeuert:und
Überprüfen Sie diese
fiddle
zu sehen, wie die event-Handler werden überschrieben wodurch nur die letzten gebundenen handler FeuerWas Sie wollen, ist eine Variante des "Verhalten" - Muster.
Ermöglicht es Ihnen, automatisch verarbeiten Ereignisse auf Elemente mit bestimmten Klassen oder andere Attribute.
Die übliche Implementierung ist zu hören auf Ereignisse, die auf "Dokument", und dann, durch die Veranstaltung.Ziel ist, definieren Sie die Aktion.
Beispiel: Geige(http://jsfiddle.net/PRkAr/)
Hier function handle mit der Bearbeitung aller Ereignisse auf Elemente mit Klassen Ihrer Wahl.
Wenn Sie hinzufügen möchten anderen Veranstaltungen oder Klassen, nur fügen Sie diese in die "auf" - Liste.