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


当前回答

document.querySelector('.ui-dialog-titlebar-close').style.display = 'none'

其他回答

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

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

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

对于多个对话框,“最佳”答案并不好。这里有一个更好的解决方案。

open: function(event, ui) { 
    //hide close button.
    $(this).parent().children().children('.ui-dialog-titlebar-close').hide();
},

http://jsfiddle.net/marcosfromero/aWyNn/

$('#yourdiv').                 // Get your box ...
  dialog().                    // ... and turn it into dialog (autoOpen: false also works)
  prev('.ui-dialog-titlebar'). // Get title bar,...
  find('a').                   // ... then get the X close button ...
  hide();                      // ... and hide it

您也可以删除标题行:

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

其移除关闭按钮。

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

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

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

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