たぶん、以下があなたを助けることができます:
- ダイアログ固有の状態(つまり、変数のセット)はありません
他の要素と同様に、 data()を使用して、状態を拡張要素に関連付けることができます。
$("#yourDialog").dialog({
// your options...
}).data("yourData", {
some: "state",
associatedWith: "thisElement"
});
意味dialog-local
は明確ではありませんが、ダイアログウィジェットはイベントを発行します。もちろん、さまざまなハンドラーを、さまざまなダイアログウィジェットの内部要素でトリガーされるイベントにバインドできます。
それらは実際にはグローバルではありません($.fn
名前空間の一部です)が、dialog()
毎回拡張要素を呼び出さなければならないことは、不必要に重いと見なされる可能性があることを理解しています。
ただし、その構文は単なるブリッジであり、jQueryのイディオムにより適したウィジェットのメソッドにアクセスする方法です。を使用してウィジェット自体への参照を取得し、data()
そのメソッドを直接呼び出すことができます。例えば:
$("#yourDialog").dialog("open");
$("#yourDialog").dialog("close");
と同等です:
var dialogWidget = $("#yourDialog").data("dialog");
dialogWidget.open();
dialogWidget.close();
更新: jQuery UI 1.9以降、キーdata()
はウィジェットの完全修飾名になり、ドットがダッシュに置き換えられます。したがって、上記のコードは次のようになります。
var dialogWidget = $("#yourDialog").data("ui-dialog");
dialogWidget.open();
dialogWidget.close();
非修飾名の使用は1.9でも引き続きサポートされていますが、非推奨であり、1.10でサポートが終了します。