很久没怎么用过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 过渡效果完成)之后被触发