4

我正在使用Bootstrap2.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 中完全删除对话框,因为相同的对话框可能会在页面上重复使用。

4

3 回答 3

3

您可以使用以下代码隐藏模式。

 $("#notice1").hide();
 $(".modal-backdrop").hide();
于 2013-11-26T04:09:31.060 回答
1

根据文档: http: //getbootstrap.com/2.3.2/javascript.html#modals

您可以捕获hidden事件并强制display:none属性。

    notice1.on('hidden', function () {
      $(this).css("display", "none")
    })
于 2013-10-21T14:27:16.463 回答
0

我正在使用 1.9.x,下面的代码工作..

$("#yourModalWindow").modal('hide');

于 2014-09-25T19:27:51.623 回答