如何禁用我的webapp的偏移滚动?
我的意思是深灰色区域 http://i.stack.imgur.com/a3Rt4.png
Disable scrolling in an iPhone web application? 我试过这个,但它一直没有用,它只在有时工作然后突然停止,我可以再次滚动。
答案 0 :(得分:12)
document.body.addEventListener('touchmove', function(e){ e.preventDefault(); });
有效,但要确保身体有100%的屏幕高度
答案 1 :(得分:3)
这会完全禁用所有触摸移动事件。
<script type="text/javascript">
function blockMove() {
event.preventDefault() ;
}
</script>
<body ontouchmove="blockMove()">
它将屏幕冻结到位,让它更具原生感。但也禁用任何可滚动区域。如果您想保留可滚动区域并仍然删除顶部和底部的橡皮筋效果,请参阅此处:http://cubiq.org/iscroll。
答案 2 :(得分:0)
最重要的是,有很多方法可以实现这一目标,但没有一种方法可以记录。他们目前都依赖于搜索您UIWebView
的子视图并修改其属性 - 所有这些子视图都没有记录,因此您的结果可能会有所不同。这当然不是一种理想的做事方式,而且你发现结果可以变化多端。如果您可以获取Web视图中包含的滚动视图(同样,未记录),您可以禁用偏移滚动/弹跳 - 此链接可能有用:
http://blog.andrewpaulsimmons.com/2010/02/controlling-uiscrollview-in-uiwebview.html
iOS 5有一个正式的解决方案,但你需要在devforums.apple.com上询问或阅读新的文档,因为iOS 5相关的所有内容仍然没有透露,这里无法真正讨论
答案 3 :(得分:0)
我写了这个解决方案,允许可滚动区域,但防止身体在可见时滚动