在移动版Safari / iPad / iOS 8中防止正文滚动到顶部

时间:2015-06-10 07:01:23

标签: javascript ios css twitter-bootstrap mobile-safari

我正在使用bootstrap词缀组件在页面顶部给出一个固定的导航栏。此导航栏包含表单元素。单击表单元素(给定焦点)时,页面主体将滚动到顶部。有没有办法覆盖此行为以阻止滚动?

2 个答案:

答案 0 :(得分:0)

为了拯救别人4小时+拖网寻找答案,我会尝试回答我自己的问题。

似乎没有解决方法在固定div上使用表单元素而不跳转。

我的解决方案是将标记更改为bootstrap样式的下拉列表。

原始选择表单元素标记:

<select id="gender" name="gender" class="fake-select">
  <option value="Male">Male</option>
  <option value="Female">Female</option>
</select>

Bootstrap样式下拉标记:

   <li class="dropdown open">
     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="true">Dropdown <span class="caret"></span>/a>
     <ul class="dropdown-menu" role="menu">
       <li><a href="#">Male</a></li>
      <li><a href="#">Female</a></li>
    </ul>
  </li>

创建了一个用来证明这一点的傻瓜:http://plnkr.co/hYTJ9l

https://github.com/takien/FakeSelect库通过操纵渲染标记提供快速解决方案。

答案 1 :(得分:0)

我的模式弹出窗口中有我的表单。当模态显示时,.modal-open类被添加到正文中。我在主体中添加了以下样式,以防止在弹出窗口处于活动状态时滚动它。

.modal-open {
  position: fixed;
}