可以动态更改jquery ui对话框的模态模式吗?
我做了一个工作的例子:http://jsfiddle.net/LXB2Y/它看起来不起作用。
$( this ).dialog("option","modal",false);
答案 0 :(得分:5)
看起来对话框在打开时不会反映更改,但更改确实生效。要显示您可以关闭的更改,然后立即重新打开对话框。这可能不是最佳解决方案。
$( this ).dialog("option","modal",true)
.dialog("close")
.dialog("open");
答案 1 :(得分:1)
如果要更改对话框中的选项,则需要在打开它之前执行此操作。另外,您需要与对话框的组件进行交互,例如在打开后使用您自己的代码覆盖
示例:
/* 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');
});
答案 2 :(得分:0)
仍然没有使用jQuery 1.11。您可以手动添加叠加,但是当您想要从非模态对话框切换到模态对话框时:
$("#dialog").dialog("widget").before("<div class='ui-widget-overlay ui-front'></div>");
如果要从模态对话框切换到非模态对话框,请相应地删除叠加层。