【发布时间】:2011-01-10 23:02:43
【问题描述】:
我正在尝试将 jQuery 对话框用作 ajax 的加载屏幕。到目前为止,我的工作非常好,但我希望加载屏幕不能关闭。但是,UI 对话框似乎没有“可关闭”选项?
你如何使它不可关闭?我尝试将 closeText 设置为空白,但没有做任何事情。小“X”仍然显示在右上角。
你不认为可关闭应该是对话框小部件的一个选项吗?
谢谢
【问题讨论】:
标签: jquery jquery-ui dialog modal-dialog
我正在尝试将 jQuery 对话框用作 ajax 的加载屏幕。到目前为止,我的工作非常好,但我希望加载屏幕不能关闭。但是,UI 对话框似乎没有“可关闭”选项?
你如何使它不可关闭?我尝试将 closeText 设置为空白,但没有做任何事情。小“X”仍然显示在右上角。
你不认为可关闭应该是对话框小部件的一个选项吗?
谢谢
【问题讨论】:
标签: jquery jquery-ui dialog modal-dialog
颖,给beforeclose传一个回调函数就好了:
$("#loading").dialog({
beforeclose: function(){ return false }
// other options here
});
【讨论】:
道格,感谢您的快速回复。这禁用了关闭操作。但是,它并没有隐藏右上角的“X”。我最终使用 css 来隐藏“X”。
/* hide the close x on loading screen */
.classForMyDialog .ui-dialog-titlebar-close {
display: none;
}
【讨论】:
$( ".selector" ).dialog({ closeOnEscape: false }); 或稍后将 $( ".selector" ).dialog( "option", "closeOnEscape", false ); 设置为 false
为了演示我如何使用 jQueryUI 对话框作为加载屏幕。
http://pure-essence.net/2010/01/29/jqueryui-dialog-as-loading-screen-replace-blockui/
【讨论】:
感谢 Ying 和 Doug,我是如何做到的
类:
.myDialog .ui-icon{
display:none !important;
}
jquery:
$(".ajaxloader").dialog({
modal:true,
resizable:false,
dialogClass:'myDialog'
});
【讨论】:
我认为 Ying 走在了正确的轨道上,但事实证明 .classForMyDialog(假设它是带有对话框内容的 div)没有小时候的图标,所以它不起作用。
我成功了:
$("#myDialogDivID").parent().find(".ui-dialog-titlebar-close").hide()
父选择对话框信封div,然后我们可以找到并隐藏关闭图标。
我也借此机会强调要设置的评论:
closeOnEscape: false
【讨论】: