2011-07-06 28 views

回答

12
document.body.addEventListener('touchmove', function(e){ e.preventDefault(); }); 

作品,但要确保身体有屏幕

+1

真棒解决方案,但如果你的身高超出手机的可见边缘,这就是灾难。它不会让你垂直或水平滚动。 –

0

底线是有很多方法来实现这一点,但没有记录。他们目前都依靠搜索UIWebView的子视图并修改其属性 - 所有这些子视图都没有记录,因此您的结果可能会有所不同。这当然不是一种理想的做事方式,因为你发现结果可以变化。如果你能得到所包含的Web视图(再次,无证),您可以禁用偏移滚动/弹跳内滚动视图的保持 - 此链接可能证明是有益的:

http://blog.andrewpaulsimmons.com/2010/02/controlling-uiscrollview-in-uiwebview.html

的iOS 5有一个官方修复此问题,但您需要在devforums.apple.com上提问或阅读新文档,因为与iOS 5相关的所有内容仍处于保密状态,因此无法在此处进行讨论。

+0

但那是一个Objective-C的解决方案吗?如果我没有误会,sencha在某些演示中没有objective-c就可以做到。 – antpaw

+1

我不知道为什么这个答案收到downvote。事实上,你可以通过UIWebView的子视图进行搜索,虽然回想起来很明显,但它仍然是我从StackOverflow获得的最有价值的知识之一。 –

3

这完全禁用所有触摸移动事件的100%的高度。

<script type="text/javascript"> 
    function blockMove() { 
     event.preventDefault() ; 
} 
</script> 

<body ontouchmove="blockMove()"> 

它冻结了你的屏幕,给它一个更原始的感觉。但也禁用任何可滚动区域。如果你想保持你的可滚动区域,仍然删除顶部和底部的橡皮筋效果,请看这里:http://cubiq.org/iscroll

+1

[链接](http://flow.bz/uaIgUn)已死。 –

+0

这只是一个链接到iScroll,谢谢! – kaleazy

相关问题