Ich möchte ein click -Ereignis an ein Button-Element anhängen und es später wieder entfernen, aber ich kann nicht unclick () oder unbind () -Ereignisse so erhalten, dass es wie erwartet funktioniert. In dem folgenden Code ist die Schaltfläche 'tan' Farbe und das Klickereignis funktioniert.
%Vor%Wie kann ich Ereignisse von meinen Elementen entfernen?
Es gibt keine unclick()
. Woher hast du das?
Sie können einzelne Ereignishandler von einem Element entfernen, indem Sie unbind aufrufen:
%Vor% Wenn Sie alle Handler entfernen möchten oder eine anonyme Funktion als Handler verwendet haben, können Sie das zweite Argument für unbind()
:
Oder Sie könnten eine Situation haben, in der Sie die Klick-Funktion sofort nach der Verwendung lösen möchten, wie ich es tun musste:
%Vor%Möchten Sie es wirklich lösen? Was, wenn Sie es später wieder und wieder und wieder binden wollen? Ich mag das dynamische Event-Handling bind / unbind nicht, da sie dazu neigen, außer Kontrolle zu geraten, wenn sie von verschiedenen Punkten des Codes aus aufgerufen werden.
Vielleicht möchten Sie alternative Optionen in Betracht ziehen:
Nur meine 2 Cent, keine universelle Lösung.
Tags und Links javascript jquery css event-handling