2012-11-28 8 views
6

Attualmente sto migrando del codice da 1.8 a 1.9.2 e sto affrontando la situazione in cui i widget vengono distrutti prima di essere inizializzati. Ad esempio, il seguente può essere difettoso (un'eccezione) ora in 1.9.2: c'è un modo posso controllare la chiamata è possibile:jQueryUI 1.9: come controllare il widget inizializzato (impossibile chiamare il metodo prima dell'inizializzazione)

$div.buttonset("destroy") 
+0

$ div.filter ('. Ui-buttonset'). Buttonset ("destroy"); – phazei

risposta

1

Almeno per il dialogo è possibile utilizzare widget di div.is(":ui-dialog"). Si noti che con l'interfaccia utente JQuery 1.10.1 il vecchio if (div.data("dialog")) non funziona (almeno per me).

3

È possibile verificare l'esistenza del widget utilizzando $ element.data ("nome-widget") quindi chiamare ciò che si desidera.

Il nome corretto del widget è spazio dei nomi + trattino + nome del plug-in. Per esempio: ui-tabs, interfaccia utente, ecc.

Nel mio progetto ho un widget con nome completo mediaITPro.player. Il nome giusto per passare alla chiamata dati è "mediaITPro-player".

La seguente riga fa il lavoro per me:

if (p.data("mediaITPro-player")) p.player("destroy"); 

Spero che questo aiuta.

P.S. I documenti sulle convenzioni di denominazione per .data chiamano http://jqueryui.com/upgrade-guide/1.9/#changed-naming-convention-for-data-keys

Problemi correlati