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

Posted

技术标签:

【中文标题】删除 jQuery UI 对话框小部件上的关闭按钮的最佳方法?【英文标题】:Best way to remove the close button on jQuery UI dialog box widget? 【发布时间】:2011-04-03 18:21:49 【问题描述】:

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

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

我在代码角度通过处理来覆盖它:

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

我试图不需要编写脚本来获取关闭按钮的类/ID,然后手动隐藏它。而且我也不想手动更改 CSS,因为对话框可能会出现需要关闭按钮的情况。

我更愿意以某种方式进行对话框配置,但要么我不知道该怎么做,要么对话框根本不允许这样做。

关于如何配置对话框有什么建议吗?

【问题讨论】:

Remove close button on jQueryUI Dialog?的可能重复 【参考方案1】:

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

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

不更改现有样式,而是添加新样式:

.noclose .ui-dialog-titlebar-close

    display:none;

添加类最终成为一种非常优雅的方法,因为我将对话框“分类”为无法关闭的对话框。

【讨论】:

这是一个非常优雅的解决方案。非常感谢! 很好的编辑@bishop,在写这篇文章的时候,“beforeclose”仍然在过去的日子里流传:-) github.com/jquery/jquery-ui/commit/…【参考方案2】:

我找到了另一个解决方案,对我有用:

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

【讨论】:

以上是关于删除 jQuery UI 对话框小部件上的关闭按钮的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭在提升的小部件中单击的按钮上的 qt 小部件 ui?

jQuery UI Dialog 小部件是不是有 Vanilla JS 替代品[关闭]

jQuery UI组件构成——小部件(Widgets)

如何删除 jQuery-ui 对话框标题栏?

将 jQuery UI 小部件应用于 ajax 加载的元素

从 catch 块打开时无法关闭 jQuery UI 对话框