From 7dd6d72093bb618fb46870c6bf75f5175aa29615 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Sun, 5 Apr 2020 22:02:19 +0200 Subject: [PATCH] Avoid page scrolling when freehand drawing on mobile --- src/ol/interaction/Draw.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ol/interaction/Draw.js b/src/ol/interaction/Draw.js index a1b76655a1..b8adce2840 100644 --- a/src/ol/interaction/Draw.js +++ b/src/ol/interaction/Draw.js @@ -523,7 +523,11 @@ class Draw extends PointerInteraction { } else if (move) { pass = event.type === MapBrowserEventType.POINTERMOVE; if (pass && this.freehand_) { - pass = this.handlePointerMove_(event); + this.handlePointerMove_(event); + if (this.shouldHandle_) { + // Avoid page scrolling when freehand drawing on mobile + event.preventDefault(); + } } else if (event.pointerEvent.pointerType == 'mouse' || (event.type === MapBrowserEventType.POINTERDRAG && this.downTimeout_ === undefined)) { this.handlePointerMove_(event); @@ -609,7 +613,6 @@ class Draw extends PointerInteraction { /** * Handle move events. * @param {import("../MapBrowserEvent.js").default} event A move event. - * @return {boolean} Pass the event to other interactions. * @private */ handlePointerMove_(event) { @@ -625,7 +628,7 @@ class Draw extends PointerInteraction { squaredDistance > this.squaredClickTolerance_ : squaredDistance <= this.squaredClickTolerance_; if (!this.shouldHandle_) { - return true; + return; } } @@ -634,7 +637,6 @@ class Draw extends PointerInteraction { } else { this.createOrUpdateSketchPoint_(event); } - return true; } /**