模态关闭,但滚动条不会返回

Kir*_*k B 4 html ajax scrollbar twitter-bootstrap-3

我有一个Bootstrap 3模式,当我用"关闭按钮"或右上角的"x"关闭它时,它将关闭并将我的页面返回到正确的状态(显示垂直滚动条).但是,当我尝试在模式中使用"选择按钮"时,在进行ajax调用后关闭它,垂直滚动条不会返回到页面.在代码中我有'onclick'事件调用.modal('hide')以及在按钮本身上有:data-dismiss ="modal".ajax调用也正确执行.我无法理解为什么这会阻止滚动条以与选择其中一个关闭按钮时相同的方式重新出现.

- 感谢您的见解.

<div class="modal fade" id="modal_1timepmt" tabindex="-1" role="dialog" aria-labelledby="1timepmtLabel" aria-hidden="true">
<div class="modal-dialog admin_modal_dialog">
  <div class="modal-content">
    <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
      <h4 class="modal-title">Some Other Details</h4>
    </div>
    <div class="modal-body">
      <div class="container content-box live-box">
        <h3>Some Heading Here</h3>
        <form id="date_exp" name="date_exp">
            <div class="form-group" id="exp_form">
                <label for="log_start" class="control-label"><small>Date</small></label>
                <input type="date" class="form-control input-sm" name="exp_date" id="exp_date" data-format="yyyy-mm-dd" >
                <a href="/?object=result_detail&action=exp_date" onclick="priv_ajax.go({
                    url:this.href,
                    div:'web_adm_details',
                    data:priv_forms.capture(document.forms['date_exp'])
                }); return false; $('#modal_1timepmt').modal('hide');" >
                 <button style="margin-left: 10px; margin-top: 10px;"  class="btn btn-default btn-xs" data-dismiss="modal">Select</button></a>
            </div>
        </form> 
         </div>
    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Kir*_*k B 17

帮助其他可能遇到此问题的人.在模态关闭后进一步检查DOM时,我注意到身体仍然应用了这个类:".modal-open".

删除此类将使页面恢复正常状态.附加到onclick事件的以下简单代码解决了这个问题(尽管我还没有弄清楚根本原因).

$('body').removeClass('modal-open');
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我在rails中有一个ajax调用来关闭一个模态,页面不会滚动.添加此行修复它给我!对于处于类似情况的其他人,我必须做这3行来完全关闭模态:`$('#specific-div').modal('hide');``$('.modal-backdrop') .remove();``$('body').removeClass('modal-open');` (2认同)