关闭另一个 - 意外行为后打开引导模式

时间:2014-02-13 01:31:03

标签: javascript jquery twitter-bootstrap

我希望在用户关闭另一个模式后立即显示一个引导模式。所以我使用以下代码尝试这样做:

currentModal.modal('hide').on('hidden.bs.modal', function (){
    nextModal.modal('show');
});

一切都正常发生。第一个模态关闭,下一个模态出现。

但是,class="modal-open"应该在body元素中滚动才能正常工作,不会发生什么。显示第二个模态后,该类将从body消失。

我做错了吗?

2 个答案:

答案 0 :(得分:0)

如果没有看到这个,我的猜测是有某种回调处理程序删除了“modal-open”类。您可以尝试手动添加它:

currentModal.modal('hide').on('hidden.bs.modal', function (){
    nextModal.modal('show');
    body.addClass('modal-open');
});

但是,您是否考虑过data-dismissdata-target而不是覆盖Bootstrap?

答案 1 :(得分:0)

  

我做错了吗?

我不这么认为。 large number of issues on this topic表明这不是设计得很好,或者不是为了支持这一点。相关的错误是 Multiple modals fix #5022Multiple modals #11872 .modal-open is not applied to body when "switching" to another modal #11865,@ mdo明确说明了这一点:

  

是的,我们不会支持多种模态。

  

那该怎么办呢?

小超时肯定会有所帮助:

currentModal.modal('hide').on('hidden.bs.modal', function (){
    setTimeout(function() {
        nextModal.modal('show');
    }, 100);
});