2010-09-17 19 views
26

Po kliknięciu przycisku jquery ui nadal wywoływane jest wywołanie zwrotne zdarzenia kliknięcia. Jak mogę zablokować to wydarzenie? Czy muszę ręcznie śledzić stan lub czy jquery ui się tym zająć?Jak wyłączyć przycisk jqueryui

+0

Czy możesz umieścić swój kod. – jcubic

Odpowiedz

33

Spróbuj tego.

$('#button_id').button("disable"); 
$('#button_id').button("enable"); 
+0

To właśnie robię, ale nadal otrzymuję wywołanie zwrotne .click(). – ablerman

+0

@Apperman jQueryUI powinien obsługiwać to poprawnie dla ciebie. W moim lokalnym przykładzie, kiedy używam przycisku '$ ('# button_id'). (" Disable ")' handler .click() nie jest wyzwalany dla button_id, a następnie jest poprawnie włączany ponownie kiedy wywołuję '$ ('# button_id '). button (' enable ') ' – Mattygabe

+0

Robię to w procedurze click(): ($ (" # button_id "). button() .attr (" disabled ")) return; – xmedeko

17

zgodnie z dokumentacją:

// setter 
$("#button_id").button("option", "disabled", true); 
+0

Tak, dokładnie można init, przycisków tak: '$ ("przełącznik") .button() \t \t .Kliknij (function() { \t \t \t \t \t if (this.checked) \t \t \t \t $ (this) .button ("opcja", "ikony", {wtórny: "ui-icon-circle-check"}) \t \t}) \t \t .filter (. ": zaznaczone") przycisk ({ icons: {secondary: "ui-icon-circle-check"}}) \t \t .filter (": disab led "). button (" option "," disabled ", true); \t}}); ' –

+0

To nie ustawi klasy wyłączonej przez ui, więc przycisk nadal będzie wyglądał włączony. – spyderman4g63

17

to działa na mnie:

$("#button_id").attr("disabled", true).addClass("ui-state-disabled"); 
1

Jeśli zdefiniować tak:

$("#mybtn").button(); 

należy włączyć/wyłączyć tak :

$("#mybtn").button("enable"); 
// OR 
$("#mybtn").button("disable"); 
Powiązane problemy