2013-03-08 177 views
2

我想禁用弹跳效果(弹性滚动)ipad/iphone safari浏览器。并尝试使用touchmove防止默认值,但这阻止了整个滚动。我希望能够滚动内容,但只是防止反弹。我的页眉和页脚已修复。 一个想法?防止在ipad/iphone safari中弹性滚动,但允许内容滚动

+0

我知道'-webkit-溢出滚动:触摸;'启用弹性滚动...您可以尝试将其设置为“auto”来关闭它。适用于默认情况下没有弹性滚动的元素。 – 2013-03-08 06:41:41

+0

@TimMedora对于哪个控件应用该属性,我尝试将其应用于我的内容div,但显示错误“未知属性名称” – 2013-03-08 09:29:36

+0

您可以尝试将其应用于CSS中的整个身体元素......我不知道不知道这是否会起作用;只是想我会提到它。更有可能工作的是隐藏body的溢出,并用'overflow:auto'添加另一个元素。默认情况下,只有身体的卷动是弹性的;新元素应该滚动而不反弹。 – 2013-03-08 09:36:41

回答

1

随着移动Safari iOS8上(为AppleWebKit/600),则可以使用以下如果发生在(向下滑动)的顶部滚动弹跳检测:

window.onscroll =函数(){ 如果(document.body的.scrollTop < 0){// 做一些 }}

我有玩,看看我能找到一个干净的方式“中断”的反弹,但并没有发现什么好东西。

请注意window.onscroll解决方案不会在UIWebView中工作,因为我认为onScroll事件不会在UIWebView中被触发,但是这不是问题,因为UIWebView没有反弹!您可以使用,如果对UIWebView的使用WKWebView https://stackoverflow.com/a/30495399/436776

我就是用这个代码来测试(必须复制并打开全屏测试在iOS上)检测:http://jsbin.com/tocako/edit