如何删除jQueryUI创建的对话框上的关闭按钮(右上角的X)?


当前回答

您也可以删除标题行:

<div data role=“header”></分区>

其移除关闭按钮。

其他回答

使用这个纯CSS行怎么样?我发现对于具有给定Id的对话框,这是最干净的解决方案:

.ui-dialog[aria-describedby="IdValueOfDialog"] .ui-dialog-titlebar-close { display: none; }
$(".ui-button-icon-only").hide();

您也可以删除标题行:

<div data role=“header”></分区>

其移除关闭按钮。

隐藏按钮的最佳方法是使用其数据图标属性对其进行过滤:

$('#dialog-id [data-icon="delete"]').hide();

由于我发现我在应用程序的几个地方都在做这件事,所以我把它包装在一个插件中:

(function ($) {
   $.fn.dialogNoClose = function () {
      return this.each(function () {
         // hide the close button and prevent ESC key from closing
         $(this).closest(".ui-dialog").find(".ui-dialog-titlebar-close").hide();
         $(this).dialog("option", "closeOnEscape", false);
      });
   };
})(jQuery)

用法示例:

$("#dialog").dialog({ /* lots of options */ }).dialogNoClose();