jquery UIダイアログのモーダルモードを動的に変更することはできますか?JQuery-UIダイアログ、 '切り替え'モーダルオプションが機能しない
私は実用的な例を作りました:http://jsfiddle.net/LXB2Y/とそれは動作していないように見えます。
$(this).dialog("option","modal",false);
jquery UIダイアログのモーダルモードを動的に変更することはできますか?JQuery-UIダイアログ、 '切り替え'モーダルオプションが機能しない
私は実用的な例を作りました:http://jsfiddle.net/LXB2Y/とそれは動作していないように見えます。
$(this).dialog("option","modal",false);
が、変更が有効になります。変更を表示するには、ダイアログを閉じてすぐに再度開くことができます。これは最善の解決策ではないかもしれません。それでもjQueryの1.11で動作していない
$(this).dialog("option","modal",true)
.dialog("close")
.dialog("open");
ダイアログのオプションを変更する場合は、ダイアログを開く前に行う必要があります。他の賢明な、それは
例開いた後、あなたはあなた自身のコードでオーバーレイのようなダイアログの成分と相互作用する必要があります。それが開いている間に、ダイアログが変更を反映されませんように見えます
/* initialize a dialog*/
$('#dialog').dialog({autoOpen:false, modal:true});
/* open a dialog from a click handler and change options*/
$('#myButton').click(function(){
/* change original modal option*/
$('#dialog').dialog('option', 'modal', false);
/* change title based on text of "myButton"*/
$('#dialog').dialog('option', 'title', $(this).text())
/* options have been changed, open dialog now */
$('#dialog').dialog('open');
});
。あなたは、単にあなたがモーダルダイアログを非モーダルから切り替えたい時にかかわらず、手動でオーバーレイを追加することができます:あなたは非モーダルダイアログをモーダルから切り替えたい場合
$("#dialog").dialog("widget").before("<div class='ui-widget-overlay ui-front'></div>");
は、それに応じてオーバーレイを削除します。