2011-11-03 3 views
10

Sembra che il solito metodo per creare widget jQuery sia chiamare una funzione su un elemento, passare le opzioni come parametro e quindi non toccare di nuovo il widget direttamente. C'è un modo per cambiare le opzioni di un widget dopo che è stato creato?Come posso modificare le opzioni del widget UI jQuery dopo che è stato creato?

Voglio creare una casella trascinabile che è allineata a una griglia, ma se l'utente ridimensiona la pagina, voglio ridimensionare la griglia. Nell'evento di ridimensionamento della finestra, come posso accedere alla proprietà grid dell'elemento trascinabile?

$('.box').draggable({grid: [40,40]}); 
... 
$(window).resize(function(){ ??? }); 

risposta

14

Dalla documentazione ui Jquery:

$(".selector").draggable("option", "grid", [50, 20]); 

modo da poter fare

$(".box").draggable("option", "grid", [width, height]); 
+0

sto facendo esattamente questo, http://jsfiddle.net/bz2aeLrg/1/ Ma sembra che ho bisogno di aggiornare/aggiornare il widget dopo. Nell'esempio dopo aver fatto clic sul pulsante "Modifica modalità", la proprietà viene aggiornata ma l'interfaccia utente viene aggiornata solo se ridimensiono la finestra del browser. – Sam007

+0

capito. '$ (Window) .resize();});' – Sam007