我使用bootstrap v.3.3.5创建了多个modal dialog
。当我启动第一个modal dialog
时,右边的滚动条工作正常,但在我启动第二个modal dialog
后关闭它,滚动条消失了。
在bootstrap v.3.0.0中没有任何问题,您可以在下面的演示
中看到modal dialog with bootstrap v.3.0.0
但是,在bootstrap v.3.3.5中存在问题
答案 0 :(得分:15)
<强> DEMO 强>
出于某种原因,它正在从正文中删除我的modal-open
类,此滚动条消失了。所以这里有一个巧妙的技巧来捕捉.modal
的关闭事件并检查是否有任何.modal
是开放的,如果是,则将.modal-open
类添加到body
$("#myModal2").on('hidden.bs.modal', function (event) {
if ($('.modal:visible').length) //check if any modal is open
{
$('body').addClass('modal-open');//add class to body
}
});
现在,如果您有多个模态相互嵌套,只需将$("#myModal2")
替换为$(document)
<强>更新强>
最近我发现这可以用纯CSS完成,只需要一行如下:
.modal{
overflow:auto !important;
}
<强> UPDATED DEMO 强>
答案 1 :(得分:5)
动态添加模态
$(document).on('hidden.bs.modal', '.modal', function () {
if ($('body').find('.modal.in').length > 0) {
$('body').addClass('modal-open');
}
});
更新 Bootstrap 4
$(document).on('hidden.bs.modal', '.modal', function () {
if ($('body').find('.modal.show').length > 0) {
$('body').addClass('modal-open');
}
});
答案 2 :(得分:1)
做一件事, 只需在CSS中添加以下内容:
#myModal{
overflow:auto !important;
}
希望它有所帮助!!