たとえば、モーダルダイアログを作成できるようにしたい
close: function() {
$(this).remove();
}
ダイアログの作成時にそれらを指定する必要はありませんが、何らかの方法でそれらのパラメーターを1か所でオーバーライドします。
これは可能ですか?
たとえば、モーダルダイアログを作成できるようにしたい
close: function() {
$(this).remove();
}
ダイアログの作成時にそれらを指定する必要はありませんが、何らかの方法でそれらのパラメーターを1か所でオーバーライドします。
これは可能ですか?
私もデフォルトのオプションをオーバーライドする必要があり、jQuery UI 1.8 を理解するのに時間がかかりました。
$.extend($.ui.dialog.prototype.options, {
modal: true,
resizable: false,
draggable: false
});
上記のコードを使用すると、ダイアログ オプションの上に何でもドロップできます。上記の方法は、ほとんどの UI コンポーネントで機能します (既存の関数のプロトタイプを作成したり、関数に追加したりすることもできます)。
次に、jQuery ダイアログ関数を呼び出す抽象化を作成する必要があります。
基本的に、jQuery ダイアログを使用するすべての場所でオプション リテラルを作成する代わりに、必要なオプションを作成する関数を作成し、そこから jQuery ダイアログ関数を呼び出します。
次に、コードのすべての領域で、コードをカプセル化した関数を呼び出します。
このプロセスはカプセル化と呼ばれ、ほとんどの (すべてではないにしても) ソフトウェア開発言語に適用されます。主な利点の 1 つは、コードの保守が容易になることです。
jQuery UI のダイアログおよびその他のウィジェットは、デフォルト値でハッシュを定義します。これらは、jQuery UI がロードされた後にオーバーライドできます。
デフォルトが設定されている行を JavaScript で検索します。
$.extend($.ui.dialog, {
version: "1.7.2",
defaults: {
...
例として、JavaScript で次のように autoOpen をオフにすることができます。
$.ui.dialog.defaults.autoOpen = false;
または、オプションのハッシュをマージできます。
$.extend($.ui.dialog.defaults, {
autoOpen: false,
title: 'Default title'
})