Nehmen wir an, ich habe eine Gruppe von zwei Optionsfeldern:
%Vor%Es scheint, dass das Klicken auf die zweite Schaltfläche einen Ereignishandler nur auf dieser Schaltfläche auslöst . Die erste Schaltfläche wird jedoch deaktiviert und ändert sich visuell. Kann jemand überprüfen, dass Ereignisse nur auf der ausgewählten Schaltfläche ausgelöst werden und nicht auf den anderen Schaltflächen in der Gruppe, die aufgrund des Klicks deaktiviert werden? Irgendwelche cleveren Möglichkeiten, einen Radiobutton für ein Abwahl-Event zu sehen?
Es kann zwar nicht bestätigt werden, aber die Auslöser für die Ereignisänderung treten nicht in der gesamten Gruppe auf.
Wenn Sie möchten, dass dies geschieht, können Sie es mit verschiedenen JS-Bibliotheken wie jQuery, YUI usw. oder sogar einfachem JavaScript wie folgt machen:
%Vor%Diese Funktion kann beim onClick- oder onChange-Ereignis aufgerufen werden.
Ich hoffe, dass das dein Problem löst.
Zunächst ist es wichtig zu beachten, dass ein "Click" -Ereignis auf einem der Funkgeräte ausgelöst wird, nachdem der Wert "checked" bereits aktualisiert wurde. Dies ist wichtig - weil es bedeutet, dass Sie das vorherige Element nicht mehr erkennen können, sobald das Ereignis bereits ausgelöst wurde. Wenn Sie das Ereignis abbrechen, ändern Sie tatsächlich den Wert ZURÜCK - und stoppen ihn nicht zu Beginn. Dies ist wichtig dafür, wie Sie das Problem angehen.
Beispiel:
%Vor%Aus diesem Grund besteht die einfachste Lösung darin, das "letzte" ausgewählte Element in einem Abschluss neben Ihren Ereignishandlern wie folgt zu verfolgen:
%Vor%Für ein funktionierendes Beispiel, siehe:
Ich kann nicht bestätigen, dass ein Ereignis nur für die ausgewählte Schaltfläche ausgelöst wird, aber wenn Sie etwas mit der Schaltfläche tun mussten, die gerade deaktiviert wurde, würde Folgendes funktionieren:
%Vor%In Aktion hier .
Wenn Sie mehrere Gruppen von Optionsfeldern im Auge behalten müssen, können Sie dies mit einem Array von derzeit ausgewählten Schaltflächen tun, die innerhalb dieses Arrays übereinstimmen, wenn eine Änderung erkannt wird.
Die einfache Art des Optionsfeldsatzes besteht darin, dass immer nur eine Schaltfläche ausgewählt werden kann. Wenn Sie eine Schaltfläche automatisch auswählen, bedeutet dies, dass die anderen nicht ausgewählt sind. Es gibt jedoch keine spezifische Aktion zum Abwählen. Daher müssen Sie sich nur um das eine Ereignis kümmern, da es alle Schaltflächen des Sets gleichzeitig betrifft.
Wenn Sie ein Element verwenden möchten, das mehrere Auswahlen zulässt, aktivieren Sie die Kontrollkästchen.
Wenn Sie jQuery
verwenden, können Sie ein benutzerdefiniertes Ereignis binden und auslösen, das wir als deselect
bezeichnen.
Mit dem folgenden Code definieren wir das deselect
-Ereignis.
Und jetzt können wir uns an deselect
binden, wo wir brauchen.
Tags und Links javascript html radio-button