From 01029ac14611d245c0ab881ff801f11845384736 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Mon, 17 May 2021 21:31:52 +0200 Subject: [PATCH] Do not require PointerEvent constructor --- src/ol/MapBrowserEventHandler.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ol/MapBrowserEventHandler.js b/src/ol/MapBrowserEventHandler.js index c161439b52..cfd3851c44 100644 --- a/src/ol/MapBrowserEventHandler.js +++ b/src/ol/MapBrowserEventHandler.js @@ -8,6 +8,7 @@ import MapBrowserEventType from './MapBrowserEventType.js'; import PointerEventType from './pointer/EventType.js'; import Target from './events/Target.js'; import {DEVICE_PIXEL_RATIO, PASSIVE_EVENT_LISTENERS} from './has.js'; +import {VOID} from './functions.js'; import {listen, unlistenByKey} from './events.js'; class MapBrowserEventHandler extends Target { @@ -244,11 +245,12 @@ class MapBrowserEventHandler extends Target { ); this.dispatchEvent(newEvent); - this.down_ = new PointerEvent(pointerEvent.type, pointerEvent); - Object.defineProperty(this.down_, 'target', { - writable: false, - value: pointerEvent.target, - }); + // Store a copy of the down event + this.down_ = /** @type {PointerEvent} */ ({}); + for (const property in pointerEvent) { + const value = pointerEvent[property]; + this.down_[property] = typeof value === 'function' ? VOID : value; + } if (this.dragListenerKeys_.length === 0) { const doc = this.map_.getOwnerDocument();