From 4895017ebb7673cbb358fa604e6c8df6d33d133b Mon Sep 17 00:00:00 2001 From: Julian Descottes Date: Sat, 4 Jun 2016 10:29:24 +0200 Subject: [PATCH] Fix viewport shaking on touchmove event on mobile/tablet --- src/js/controller/DrawingController.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/js/controller/DrawingController.js b/src/js/controller/DrawingController.js index 56bc91619..07910407e 100644 --- a/src/js/controller/DrawingController.js +++ b/src/js/controller/DrawingController.js @@ -86,9 +86,10 @@ window.addEventListener('mouseup', this.onMouseup_.bind(this)); window.addEventListener('mousemove', this.onMousemove_.bind(this)); window.addEventListener('keyup', this.onKeyup_.bind(this)); - window.addEventListener('touchstart', this.onMousedown_.bind(this)); - window.addEventListener('touchmove' , this.onMousemove_.bind(this)); - window.addEventListener('touchend', this.onMouseup_.bind(this)); + window.addEventListener('touchstart', this.onTouchstart_.bind(this)); + window.addEventListener('touchmove' , this.onTouchmove_.bind(this)); + window.addEventListener('touchend', this.onTouchend_.bind(this)); + // Deactivate right click: body.contextmenu(this.onCanvasContextMenu_); @@ -136,6 +137,19 @@ $.publish(Events.ZOOM_CHANGED); }; + ns.DrawingController.prototype.onTouchstart_ = function (event) { + this.onMousedown_(event); + }; + + ns.DrawingController.prototype.onTouchmove_ = function (event) { + this.onMousemove_(event); + event.preventDefault(); + }; + + ns.DrawingController.prototype.onTouchend_ = function (event) { + this.onMouseup_(event); + }; + /** * @private */