Ereignisbehandlung jQuery unclick () und unbind () Ereignisse?

7

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?

    
Edward Tanguay 23.09.2008, 13:41
quelle

4 Antworten

18

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() :

weglassen %Vor%     
Jim 23.09.2008, 13:54
quelle
6

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%     
alessioalex 15.09.2010 15:09
quelle
3

unbind ist dein Freund.

%Vor%     
redsquare 23.09.2008 13:43
quelle
0

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:

  • ändere die Schaltfläche "disabled" Eigenschaft
  • implementieren Sie Ihre Logik in "process_click" -Funktion

Nur meine 2 Cent, keine universelle Lösung.

    
Filini 23.09.2008 15:47
quelle