jQuery.off () entfernt die Bindung nicht

8

Aus irgendeinem Grund scheint jQuery.off ('click') hier nicht zu funktionieren. Wenn im Modell auf die Schaltfläche "Ja" geklickt wird, erscheint ein anderes Modell. Was mache ich falsch?

code:

%Vor%     
Steven 15.01.2012, 07:55
quelle

2 Antworten

10

Ziemlich sicher, dass Sie dasselbe Element und denselben Selektor verwenden müssen.

%Vor%

Im .on() -Handler ist this das Element '.renewal-warning' , auf das geklickt wurde, nicht das Element #signRentalContainer .

Wenn mehrere dieser '.renewal-warning' -Elemente vorhanden sind und Sie nur jeweils eines deaktivieren möchten, ist es am einfachsten, die Klasse so zu ändern, dass sie nicht mehr mit dem Selektor übereinstimmt.

%Vor%     
user1106925 15.01.2012, 07:57
quelle
3

Weil this sich auf den Kontext der Handle-Funktion bezieht, nicht auf die Funktion selbst.

Versuchen Sie, es zu einer benannten Funktion zu machen, und beziehen Sie sich darauf, wenn Sie off :

aufrufen

$("body").off("click", '#signRentalContainer', buttonHandle);

BTW, irgendeinen Grund, warum wir unbind nicht direkt hier benutzen können?

$("#signRentalContainer").unbind("click");

    
satoru 15.01.2012 07:59
quelle

Tags und Links