禁用IOS Safari Elastic Sc​​rolling

Phe*_*dg1 11 javascript mobile-safari ios7

我正在编写一个HTML和JavaScript的Web应用程序,以便在iPhone上使用.我想要实现的是阻止应用程序进行弹性滚动(滚动浏览页面范围并弹回).但是,我需要我的应用程序的一些较长元素才能滚动(应用程序有一个长画布).

我已尝试过在互联网上其他地方找到的许多答案,但是,所有这些解决方案要么使用JQuery,要么完全禁用滚动,使用Phonegap或者只是简单地在IOS 7上工作.我怎么能这样做?

Umi*_*mov 22

有一种方法可以在没有jQuery的情况下实现这一点:

document.body.addEventListener('touchmove', function(event) {
    event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但这不是一个合适的解决方案.最好将内容包装在某个div中,并在其上使用css属性:

 -webkit-overflow-scrolling: touch;
Run Code Online (Sandbox Code Playgroud)

是一个例子

编辑:

这只会阻止在webview中过度滚动,而不是在app中.因此,您需要在app config中禁用此功能.如果你使用phonegap:

<preference name="DisallowOverscroll" value="true" />
Run Code Online (Sandbox Code Playgroud)

这里有更多描述

如果您不使用phonegap,则可以使用此功能.