diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index a3969cf16d..199b2fad66 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -385,10 +385,6 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = this.handlePointerUp_, false, this) ]; } - - // FIXME check if/when this is necessary - // prevent context menu - pointerEvent.preventDefault(); }; diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index e15815ba99..3c8ff0c960 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -3,6 +3,9 @@ goog.provide('ol.renderer.dom.Map'); goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); +goog.require('goog.events'); +goog.require('goog.events.Event'); +goog.require('goog.events.EventType'); goog.require('goog.functions'); goog.require('goog.style'); goog.require('goog.vec.Mat4'); @@ -78,6 +81,10 @@ ol.renderer.dom.Map = function(container, map) { this.layersPane_.onselectstart = goog.functions.FALSE; } + // prevent the img context menu on mobile devices + goog.events.listen(this.layersPane_, goog.events.EventType.TOUCHSTART, + goog.events.Event.preventDefault); + goog.dom.insertChildAt(container, this.layersPane_, 0); /** @@ -90,6 +97,15 @@ ol.renderer.dom.Map = function(container, map) { goog.inherits(ol.renderer.dom.Map, ol.renderer.Map); +/** + * @inheritDoc + */ +ol.renderer.dom.Map.prototype.disposeInternal = function() { + goog.dom.removeNode(this.layersPane_); + goog.base(this, 'disposeInternal'); +}; + + /** * @inheritDoc */