如何删除jQueryUI创建的对话框上的关闭按钮(右上角的X)?
当前回答
我是单行本的粉丝(他们在哪里工作!)。以下是对我有效的方法:
$("#dialog").siblings(".ui-dialog-titlebar").find(".ui-dialog-titlebar-close").hide();
其他回答
罗伯特·麦克莱恩的回答对我不起作用。
然而,这对我来说确实有效:
$("#div").dialog({
open: function() { $(".ui-dialog-titlebar-close").hide(); }
});
对于停用类,短代码:
$(".ui-dialog-titlebar-close").hide();
可以使用。
我觉得这样更好。
open: function(event, ui) {
$(this).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
}
对于那些正在使用DialogExtendjQueryExtension的用户,您可以使用可关闭选项来管理此功能以及此体面扩展提供的许多其他调整。
注意,如果您已经在使用DialogExtend,那么任何前述的DialogCSS黑客在初始化时都会被DialogExtend拦截。
这是针对jQuery UI 1.12的。我为“classes”选项添加了以下配置设置
classes: {
'ui-dialog-titlebar-close': 'hidden',
},
整个对话框初始化如下所示:
ConfirmarSiNo(titulo, texto, idPadre, fnCerrar) {
const DATA_RETORNO = 'retval';
$('confirmar-si-no').dialog({
title: titulo,
modal: true,
classes: {
'ui-dialog-titlebar-close': 'hidden',
},
appendTo: `#${idPadre}`,
open: function fnOpen() { $(this).text(texto); },
close: function fnClose() {
let eligioSi = $(this).data(DATA_RETORNO) == true;
setTimeout(function () { fnCerrar(eligioSi); }, 30);
},
buttons: {
'Si, por favor': function si() { $(this).data(DATA_RETORNO, true); $(this).dialog("close"); },
'No, gracias': function no() { $(this).data(DATA_RETORNO, false); $(this).dialog("close"); }
}
});
}
我使用以下脚本调用来显示它:
ConfirmarSiNo('Titulo',
'¿Desea actualizar?',
idModalPadre,
(eligioSi) => {
if (eligioSi) {
this.$tarifa.val(tarifa.tarifa);
this.__ActualizarTarifa(tarifa);
}
});
在Html主体中,我有以下包含对话框的div:
<div class="modal" id="confirmar-si-no" title="" aria-labelledby="confirmacion-label">
mensaje
</div>
最终结果是:
函数“ConfirmarSiNo”基于帖子中的“Whome”答案。如何在Jquery UI对话框中实现“确认”对话框?
推荐文章
- 使伸缩项目正确浮动
- 可以在setInterval()内部调用clearInterval()吗?
- 无法读取未定义的属性“msie”- jQuery工具
- 如何取消最大高度?
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何选择在最后一个子元素之前的元素?
- 如何触发自动填充在谷歌Chrome?
- jQuery:执行同步AJAX请求
- CSS变换,锯齿边缘在铬
- 创建圈div比使用图像更容易的方法?
- 强迫孩子服从父母的弯曲边界在CSS
- jQuery表格排序
- 如何禁用文本选择使用jQuery?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?