Boostrap 二级模态框关闭后导致一级模态框无法滚动

很久没怎么用过bootstrap了, 本来也没有怎么深入使用过,今天在修复一个微商城后台的老代码的时候,发信一个bootstrap的bug:

当已经打开一个一级模态框之后,再继续打开一个二级模态框, 然后关闭二级模态框,一级模态框长度大于视窗的时候,会导致一级模态框无法向下滚动

原因:
当二级模态框关闭的时候,会移除body标签上的modal-open 类名,bootstrap可能并没有考虑到会有二级模态框的情况。

解决方法:
在调用关闭点击事件后,手动给body添加上modal-open类名

代码

$(function(){
    $('.modal').on('hidden.bs.modal', function () {
                        if ($('.modal.in').size() >= 1) {
                            $('body').addClass('modal-open')
                        }
                    })
})

hidden.bs.modal
此事件在模态框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发

你可能感兴趣的:(Boostrap 二级模态框关闭后导致一级模态框无法滚动)