2012-11-28 47 views
6

私は現在、1.8から1.9.2にいくつかのコードを移行しており、ウィジェットが初期化される前に破棄される状況に直面しています。たとえば、次は1.9.2になりました(例外をスロー)障害があることができます:私はコールを確認することができますがどのような方法が可能です。jQueryUI 1.9:初期化されたウィジェットをチェックする方法(初期化の前にメソッドを呼び出すことはできません)

$div.buttonset("destroy") 
+0

$ div.filter( '.ui-buttonset')。buttonset( "destroy"); – phazei

答えて

1

少なくともダイアログウィジェットのためにあなたはdiv.is(":ui-dialog")を使用することができます。 jQuery UI 1.10.1では、古いif (div.data("dialog"))は(少なくとも私にとっては)うまくいきません。

3

$ element.data( "widget-name")を使用してウィジェットの存在を確認し、必要なものを呼び出すことができます。

ウィジェットの固有の名前は、namespace + dash + plugin nameです。例:ui-tabs、UIダイアログなど

私のプロジェクトでは、mediaITPro.playerというフルネームのウィジェットがあります。データコールに渡す正しい名前は "mediaITPro-player"です。

次の行は私のために仕事をしていません:

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

私はこのことができます願っています。

P.S. .dataコールの命名規則に関する文書。 http://jqueryui.com/upgrade-guide/1.9/#changed-naming-convention-for-data-keys

関連する問題