2010-08-25 71 views
20

删除jQuery UI对话框上关闭按钮的最佳方式是什么?删除jQuery UI对话框小部件上关闭按钮的最佳方法?

我不希望人们能够关闭对话框。

我被处理覆盖其上的代码角:

closeOnEscape: false, 
beforeclose: function (event, ui) { return false; } 

我想没有需要编写脚本来虎视眈眈的关闭按钮的类/ ID,然后手工将其隐藏。我宁愿不手动更改CSS,因为对话框可能有需要关闭按钮的情况。

我宁愿做它的对话框配置莫名其妙,但我无法弄清楚如何做到这一点或对话框根本不允许它。

关于如何配置对话框的任何建议?

+1

的可能重复[上jQueryUI的对话框中删除关闭按钮?](http://stackoverflow.com/questions/896777/remove-close-button- on-jqueryui-dialog) – 2013-05-21 12:00:50

回答

54

我发现这是一个很好的解决方案

$("#myDialogID").dialog({ 
    closeOnEscape: false, 
    beforeClose: function (event, ui) { return false; }, 
    dialogClass: "noclose" 
}); 

不改变现有的风格,而不是添加一个新的位:

.noclose .ui-dialog-titlebar-close 
{ 
    display:none; 
} 

添加类结束了一个相当巧妙的方法,如我将对话框分类为不能关闭的对话框。

+1

+1也是我的。真的很棒的解决方案! – NullPointer 2013-07-31 11:29:40

+0

这是一个非常优雅的解决方案。非常感激! – 2014-01-13 09:35:35

+1

好编辑@bishop,在撰写“beforeclose”的时候,仍然在ye'olden天踢脚:-) https://github.com/jquery/jquery-ui/commit/b42125af4350eda14a6b15bb71f8dd336858fbd8/ – 2014-09-09 09:19:34

2

我找到了另一种解决方案,为我工作:

$("#divID").dialog({ 
    closeOnEscape: false, 
    open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); } 
});