禁用滚动网页iPad

我已经看到很多涉及停止所有touchmove事件的解决方案。 但是这对我来说不起作用,因为我的应用程序涉及绘图canvas。 有没有办法确保用户不能滚动,同时保留其他touchevents? –Ashley

您可以在绘图处理程序中使用e.preventDefault() ,也可以在DOM树中的附加处理程序中使用e.preventDefault() 。 这只是阻止了要滚动的touchmove的默认行为。

 $('body, html').on('touchmove', function(e){ e.preventDefault(); }); 

您仍然可以在绘图canvas上处理touchmove事件。

另一种选择是设置overflow:hidden在CSS中 – 但这取决于页面的大小。

我认为你应该看看这个答案.. 防止touchmm默认父母而不是孩子

将canvas放在容器中并停止在父级上滚动。

 $('body').delegate('#fix','touchmove',function(e){ e.preventDefault(); }).delegate('.scroll','touchmove',function(e){ e.stopPropagation(); });