如何删除jQueryUI创建的对话框上的关闭按钮(右上角的X)?
当前回答
隐藏按钮的最佳方法是使用其数据图标属性对其进行过滤:
$('#dialog-id [data-icon="delete"]').hide();
其他回答
对于停用类,短代码:
$(".ui-dialog-titlebar-close").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();
document.querySelector('.ui-dialog-titlebar-close').style.display = 'none'
以上这些都不起作用。真正有效的解决方案是:
$(function(){
//this is your dialog:
$('#mydiv').dialog({
// Step 1. Add an extra class to our dialog to address the dialog directly. Make sure that this class is not used anywhere else:
dialogClass: 'my-extra-class'
})
// Step 2. Hide the close 'X' button on the dialog that you marked with your extra class
$('.my-extra-class').find('.ui-dialog-titlebar-close').css('display','none');
// Step 3. Enjoy your dialog without the 'X' link
})
请检查它是否适合您。
使用这个纯CSS行怎么样?我发现对于具有给定Id的对话框,这是最干净的解决方案:
.ui-dialog[aria-describedby="IdValueOfDialog"] .ui-dialog-titlebar-close { display: none; }
推荐文章
- 如何嵌入HTML到IPython输出?
- 如何删除/忽略:悬停css风格的触摸设备
- HTML5文本区域占位符不出现
- 添加javascript选项选择
- 为iPad和iPhone设计输入按钮
- HTML tabindex属性是什么?
- 我如何捕捉Ajax查询后错误?
- HTML按钮调用MVC控制器和动作方法
- jQuery:什么是限制“数字”仅输入文本框的最佳方法?(允许使用小数点)
- 在window.setTimeout()发生之前取消/终止
- Div高度100%,并扩展到适合内容
- 当鼠标经过表中的一行时,将光标更改为手
- HTML实体中间的点
- 检测当用户滚动到底部的div与jQuery
- 使用:before和:after CSS选择器插入HTML