0

我见过很多涉及停止所有 touchmove 事件的解决方案。但是,这对我不起作用,因为我的应用程序涉及绘图画布。有没有办法确保用户不能滚动,同时保留其他触摸事件?——阿什利

4

2 回答 2

1

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

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

您仍然可以处理touchmove绘图画布上的事件。

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

于 2013-03-19T23:35:33.990 回答
0

我认为你应该看看这个答案.. 防止 touchmove default on parent but not child

将您的画布放入容器中并停止在父级上滚动。

$('body').delegate('#fix','touchmove',function(e){

    e.preventDefault();

}).delegate('.scroll','touchmove',function(e){

    e.stopPropagation();

});
于 2013-03-19T23:37:43.643 回答