iPhone Web App - 在iOS8中停止身体反弹/滚动

Jon*_*han 12 scroll web-applications bounce ios8

是的我知道.这个问题之前已被问过一千次.感谢所有人,我能够找到一个解决方案,最终在<= iOS7中完成了我的工作.但是,在更新到iOS 8后 - 似乎没有任何效果!

在iOS7中对我来说非常有用

CSS

html, body, .scrollable {
overflow: auto; 
-webkit-overflow-scrolling: touch;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(function() {
  $(document).on("touchmove", function(evt) { evt.preventDefault() });
  $(document).on("touchmove", ".scrollable", function(evt) { evt.stopPropagation() });
});
Run Code Online (Sandbox Code Playgroud)

我试过的其他解决方案:

全部在这里:iPhone Web App - 停止正文滚动

在这里:iOS Safari - 如何禁用过度滚动但允许可滚动的div正常滚动?

在这里:禁用iOS Overscroll但允许正文滚动

和更多 ...

那么,有没有人知道iOS8兼容的禁用身体界限滚动 /反弹效果的方式(除了应用于phonegap项目的原生解决方案)?

小智 0

再加上更可靠地受到尊重的事实position: fixed,可以产生一些有趣的效果。你可以用一个简单的固定“衬垫”进行拉动来刷新,当身体向下拉动时,该“衬垫”会保持原状,从而露出它。

回答你的问题:

如果满足以下条件,touchmove则抛出 ( ) 事件的处理程序应该可以工作:event.preventDefault()

  • 本次活动比上一期更进一步
  • 当前target元素 和body位于scrollTop == 0
  • 上述两种情况同样要注意底部橡胶拉力(scrollTop + innerHeigh == scrollHeight

如果您正在寻找更详细的 axplantation,请告诉我,很乐意写下来。