我正在使用Bootstrap
2.3.2,我正在使用这样的模态对话框:
<div id="notice1" class="modal hide fade">
<div class="modal-body">
<h4>This is a dialog for user...</h4>
</div>
...
</div>
和
var notice1 = $("#notice1");
notice1.modal({
keyboard: false,
backdrop: "static",
show: false
});
// Show the dialog
notice1.modal("show");
// Close the dialog
notice1.modal("hide");
大多数情况下,上述工作正常,模式对话框以编程方式打开和关闭。但是,在极少数情况下,尽管黑色背景被移除,但调用.modal("hide")
并不会关闭对话框。
这是一个巨大的潜在问题,因为对话框可能会卡在屏幕上并阻止部分内容。
是否有可靠的方法确保在调用.modal("hide")
后始终关闭对话框?或者更好的是,我们如何确保来自hide
的一致Bootstrap
行为?我不想完全从DOM中删除对话框,因为可以在页面上重复使用相同的对话框。
答案 0 :(得分:3)
您可以使用以下代码隐藏模态。
$("#notice1").hide();
$(".modal-backdrop").hide();
答案 1 :(得分:1)
根据文件:http://getbootstrap.com/2.3.2/javascript.html#modals
您可以捕获hidden
事件并强制display:none
属性。
notice1.on('hidden', function () {
$(this).css("display", "none")
})
答案 2 :(得分:0)
我正在使用1.9.x,代码正常工作..
$("#yourModalWindow").modal('hide');