Twitter bootstrap 3 引导模式不';子模式关闭后不滚动

Twitter bootstrap 3 引导模式不';子模式关闭后不滚动,twitter-bootstrap-3,Twitter Bootstrap 3,在Bootstrap3中,我有一个模态形式(我们称之为父模态)。这就是所谓的: 它有这样的子情态动词: $('#childmodal').modal({背景:“静态”,键盘:“假”}) 父模式比我的视图端口高,它确实会滚动,但在关闭子模式后,父模式不会滚动-相反,包含父模式的页面会滚动,即使它仍然变灰并被禁用 子模态是这样关闭的: $(“#childmodal”).modal('hide')。我还尝试了切换,但运气不佳 为什么会这样?我需要在打开和关闭子模态之前滚动父模态 非常感谢 这是因为模

在Bootstrap3中,我有一个模态形式(我们称之为父模态)。这就是所谓的:

它有这样的子情态动词:

$('#childmodal').modal({背景:“静态”,键盘:“假”})

父模式比我的视图端口高,它确实会滚动,但在关闭子模式后,父模式不会滚动-相反,包含父模式的页面会滚动,即使它仍然变灰并被禁用

子模态是这样关闭的:
$(“#childmodal”).modal('hide')。我还尝试了
切换
,但运气不佳

为什么会这样?我需要在打开和关闭子模态之前滚动父模态


非常感谢

这是因为模态关闭后的DOM,主体仍然应用了这个类:“.modal open”

删除该类将使页面恢复正常状态,滚动等等。因此,您需要:

$('body').removeClass('modal-open');

虽然joashp帮我找到了答案,但我还是想发布一个完整的答案

Joashp在body中的
modal open
类是正确的,我的测试表明添加该类允许父modal再次滚动。问题是,虽然它在测试中起作用,但在现实世界中却不起作用。为了彻底解决这个问题,我添加了一个在jQuery完全隐藏模式之后将
modal open
类添加到主体中。要做到这一点,我必须使用模态函数的回调函数。当jQuery最终完成隐藏时,“隐藏”将激发:

$('childmodal').on('hidden.bs.modal',function(){
$('body').addClass('modal-open');

});

真正的答案在于计时。在花了几个小时追踪课堂上发生的事情之后,我尝试了下面的方法,它就像它应该的那样工作。基本上,您需要等待初始模式完全隐藏,然后再尝试打开第二个模式。像这样

$("#idmodal1").modal("hide");
/*When the modal is COMPLETELY hidden */
$("#idmodal1").on('hidden.bs.modal', function () {
                        $("#idmodal2").modal("show");/*Show the second modal*/ 
                   }); 

第二个模式现在将正常滚动。

非常感谢您的洞察力。有了这些,我看到关闭子模式删除了那个类,所以放回去让我的父母再次滚动!!所以我刚刚添加了$('body').addClass('modal-open');关上孩子后。太好了,我以前也遇到过类似的问题。对不起,亲爱的,我不工作。但是另一个解决方案在('hidden.bs.modal',function(){//do something…$('body').addClass('modal-open');})上使用$('booknowmodel');