2016-06-16 21 views
0

Ich habe eine Funktion, die dem Ereignishandler einer Checkbox zugeordnet ist. Wenn ich die Checkbox ankreuze, wird die Funktion aufgerufen und es tut was. Also ich möchte wissen, wie ich diese Funktion deaktivieren, indem Sie dieses Kontrollkästchen deaktivieren? und hier ist der Code-Schnipsel:Gibt es eine Möglichkeit, eine Funktion in jQuery zu deaktivieren?

$('#mControl').change(function() { 
if ($(this).is(':checked')) { 
    mcs(); 
} else { 
    $(this).unbind("change"); 
}}); 
+0

Define „Stop“, es ist nicht klar, was Sie meinen. Außerdem wäre es nützlich zu wissen, welche Funktion * Sie "stoppen" wollen. –

+1

Es gibt nichts zu verarbeiten in Ihrer 'else' Aussage, wonach genau Sie suchen? –

+0

Randnotiz: 'this.checked' ist im 'change' -Handler eine viel einfachere Möglichkeit,' $ ("# mControl") zu schreiben. Is (': checked '); ', da' this 'eine Referenz ist in das entsprechende Kontrollkästchen und 'checked 'spiegelt seinen Zustand wider. –

Antwort

0

Ich denke, man nur einmal diese Funktion benötigen rufen, auf erste Änderung, es ist nicht wahr? Sie benötigen

$(this).off('change'); 

am Ende der Funktion.

0

Ich bin nicht sicher, ob es das, was Sie brauchen:

$('#mControl').change(function(e) { 
if ($('#mControl').is(':checked')) { 
    mcs(); 
} else { 
    $(this).unbind("change"); 
}}); 
Verwandte Themen