Prevent page scroll on drag in IOS and Android

后端 未结 5 829
既然无缘
既然无缘 2020-12-30 00:49

I\'m working on a html5 canvas game, but I don\'t know how to handle touch events. When a user touch the screen, and drag, then the browser will scroll the page. I would lik

5条回答
  •  醉酒成梦
    2020-12-30 01:23

    Following solution preventing scroll when dragging AND at the same time usual scroll is working (when not dragging)

    var scrollable = true;
    
    var listener = function(e) {
        if (! scrollable) {
            e.preventDefault();
        }
    }
    
    document.addEventListener('touchmove', listener, { passive:false });
    
    
    onDragstartHandler() {
      scrollable = false;
    }
    
    onDragendHandler(} {
      scrollable = true;
    }
    

    Don't forget to bind onDragstartHandler and onDragendHandler to related elements

提交回复
热议问题