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


当前回答

罗伯特·麦克莱恩的回答对我不起作用。

然而,这对我来说确实有效:

$("#div").dialog({
   open: function() { $(".ui-dialog-titlebar-close").hide(); }
});

其他回答

我觉得这样更好。

open: function(event, ui) {
  $(this).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
}

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

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

我是单行本的粉丝(他们在哪里工作!)。以下是对我有效的方法:

$("#dialog").siblings(".ui-dialog-titlebar").find(".ui-dialog-titlebar-close").hide();

我最终发现这是有效的(请注意,第三行覆盖了打开的函数,该函数查找按钮并隐藏它):

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

要隐藏所有对话框上的关闭按钮,也可以使用以下CSS:

.ui-dialog-titlebar-close {
    visibility: hidden;
}

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

.ui-dialog[aria-describedby="IdValueOfDialog"] .ui-dialog-titlebar-close { display: none; }