【发布时间】:2014-05-07 22:19:01
【问题描述】:
我已经在我的项目中实现了引导对话框。我在该对话框中有一些删除功能,删除确认消息会打开另一个引导对话框。但是当第二个确认对话框打开时,第一个对话框并没有被禁用并且所有的事件都正常工作。
当另一个对话框打开时,是否有任何解决方案可以禁用原始对话框?
这是我的代码:
function OpenDialogForSelectionAdmItem(title, content, callback) {
var dlg = new BootstrapDialog({
title: title,
content: content,
buttons: [{
label: 'Save',
cssClass: 'btn-primary',
id: 'btnSave',
onclick: function (dialog) {
}
},
{
label: 'Close',
cssClass: 'btn',
id: 'btnClose',
onclick: function (dialog) {
if (callback != "") {
callback(true);
}
dialog.close();
}
}]
});
dlg.open();`
}
截图:
当删除确认对话框打开时,我想禁用第一个对话框。
【问题讨论】:
-
"不支持重叠模式。确保在另一个模式仍然可见时不要打开模式。一次显示多个模式需要自定义代码。" getbootstrap.com/javascript/#modals
-
您可以尝试在第二个对话框后面放置一个页面掩码,并在第二个对话框关闭时将其删除。
-
@isherwood,页面掩码绝对是正确的方向。创建新模态时,它带有自己的
modal-backdrop。当显示第二个模态时,您可以通过相对于第一个模态增加其z-index使其出现在原始模态之上。查看我的答案以获取完整的详细信息。 -
@Abhijit,我猜你正在使用bootstrap3-dialog。将来,如果您使用的是相对不常见的第三方库,那么直接链接到它而不是让人们猜测会很有帮助。同样,一个工作小提琴会在这里真正节省一些时间,而不必重复你的努力。提供minimal reproducible example 以便有人可以运行他们自己的代码版本并重现它,使故障排除变得容易大约十倍。
标签: javascript jquery twitter-bootstrap twitter-bootstrap-3 bootstrap-dialog