目前
modal-open
打开模态时,被分配给正文。如何更改添加类的位置而不是正文。
感谢您的帮助。
答案 0 :(得分:8)
您必须更改添加模态打开的js。这有点像行为,但无论如何你可以轻声或粗暴地做。
轻轻地:截取模态点击以显示并删除类到主体添加到另一个元素:
//首先将Modal添加到Body,然后将其删除并添加到另一个元素
$('#myModal').on('shown.bs.modal', function (e) {
$(body).removeClass('modal-open');
$('#myCustomElement').addClass('modal-open');
})
然后拦截模态的关闭并添加执行第二次删除:
$('#myModal').on('hidden.bs.modal', function (e) {
$('#myCustomElement').removeClass('modal-open');
})
残酷的方法,为了避免模态打开它不必要添加到body元素: 进入TwitterBootstrap目录> JS 打开modal.js 搜索modal-open,你会发现(在版本3.2.0上):
in
Modal.prototype.show
你会找到
this.$body.addClass('modal-open')
Modal.prototype.hide
中的你会找到
this.$body.removeClass('modal-open')
你必须更改addClass
和removeClass
的目标并替换这些说明,如果你有一个固定的元素就足够简单了(例如:$('#myFixedElement').addClass('modal-open')
,如果它是一个动态元素它是复杂,您将再次拦截Show函数在js中添加global var
以让modal.js
知道并读取您的目标元素。但是您也可以更改这些函数的签名但我不知道真的建议你这样做,基本上你会让你的代码太难以保持。