Bootstrap body 自动填充在打开模态后移除

Ali*_*rim 5 jquery twitter-bootstrap twitter-bootstrap-3

打开 bootstrap modal 后,自动填充右:19px 加入 body 标签。我想删除这个自动填充。我已经尝试了用于模态的波纹管代码并删除了身体自动填充。

<div class="media" data-toggle="modal" data-target="#kolpochitro"> 
             --------
</div>
Run Code Online (Sandbox Code Playgroud)

然后我写了

<div class="modal fade" id="kolpochitro" role="dialog">
    <div class="modal-dialog modal-sm" >

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
              -------
        </div>
        <div class="modal-body">
              ------
        </div>
      </div>

    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

打开模态后,我的身体标签看着萤火虫

<body class="cbp-spmenu-push modal-open" style="padding-right: 19px;">
Run Code Online (Sandbox Code Playgroud)

为了删除这种风格,我正在尝试下面的代码

$('document').ready(function(){
            $('.media').click(function(){
                $("body").removeAttr("style");
            })
})
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

Mic*_*iel 6

我有同样的问题。在接受的答案中使用 Javascript 删除内联样式将删除填充,但直到完全显示模态才会删除,因此它仍然会导致某种不稳定的行为。最后,我使用 CSS 删除了填充,这将确保页面内容不会移动并且始终没有填充。

body.modal-open {
  padding-right: 0 !important;
}
Run Code Online (Sandbox Code Playgroud)

希望这会帮助任何有同样问题的人。


Roh*_*ora 4

使用所示的函数来更新它:

$('#modal-content').on('shown.bs.modal', function() {
       $("body.modal-open").removeAttr("style");
 });
Run Code Online (Sandbox Code Playgroud)

或者对于以前版本的 Bootstrap :

$('#modal-content').on('shown', function() {
        $("body.modal-open").removeAttr("style");
})
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看此链接