2011-12-18 14 views
11

Używam biblioteki jQuery UI, aby zapewnić niektóre funkcje interfejsu użytkownika dla elementów DOM.Jak zatrzymać właściwość resizable elementu w jQuery UI

Mam element div, który można zmienić, gdy klient wybierze opcję niestandardowego wymiaru, ale mam również inny tryb, który zmienia rozmiar elementu div o stałych wymiarach, a klient nie może zmienić rozmiaru elementu div.

Mój kod z „niestandardowych wymiarów” jest podobny do tego:

$("#element").resizable ({ 
    aspectRatio: 4/3, 
    minWidth: 320, 
    minHeight: 240, 
    maxWidth: 640, 
    maxHeight: 480 
}); 

Ale teraz muszę przestać zdarzenia zmiany rozmiaru. Jak mogę to zrobić?

Dzięki.

Odpowiedz

18

Wyłączając

Wtyczka zapewnia „Wyłącz” metody, które można nazwać tak:

$("#element").resizable('disable'); 

problemem jest to, że dodaje klasy „UI-państwowych wyłączone "do elementu zmieniającego rozmiar, nadając mu wizualnie wyłączony stan. Jeśli nie chcemy, by zastąpić styl lub usunąć dodatkową klasę tak:

$("#element").resizable('disable').removeClass('ui-state-disabled'); 

Niszcząc

Innym sposobem na to, aby „zniszczyć” wtyczki od elementu, jeśli nie ma to być zmienny rozmiar:

$("#element").resizable('destroy'); 

następnie można ponownie ubiegać Twój zmienny rozmiar, jeśli chcesz, aby ponownie włączyć efekt znowu

4

Zaproszenie na destroy lub disable metody, np .:

$("#element").resizable('disable'); 

Jeśli używasz disable można użyć enable ponownie później, ale domyślna akcja przyciemnia również element nieco którego może nie chcieć.

Zupełnie nieodpłatne dema na żywo: enable/disable | destroy/recreate

Powiązane problemy