From d1185da6b12e124e62fd123a6dc05e08b6612835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20Dub=C3=A9?= Date: Fri, 27 Feb 2015 12:14:13 -0500 Subject: [PATCH] Replace mouseMove event condition by pointerMove The original browser event was used to catch the mousemove event, but in IE the 'pointermove' event is returned instead. So, instead of using the original event, we use the map browser event, which is always 'pointermove'. --- examples/select-features.html | 2 +- examples/select-features.js | 10 +++++----- src/ol/events/condition.js | 20 ++++++++++---------- src/ol/interaction/selectinteraction.js | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/examples/select-features.html b/examples/select-features.html index a6da89485a..3b84401fcc 100644 --- a/examples/select-features.html +++ b/examples/select-features.html @@ -41,7 +41,7 @@ - +
diff --git a/examples/select-features.js b/examples/select-features.js index 7386fa95cf..0c8cea6882 100644 --- a/examples/select-features.js +++ b/examples/select-features.js @@ -38,9 +38,9 @@ var selectClick = new ol.interaction.Select({ condition: ol.events.condition.click }); -// select interaction working on "mousemove" -var selectMouseMove = new ol.interaction.Select({ - condition: ol.events.condition.mouseMove +// select interaction working on "pointermove" +var selectPointerMove = new ol.interaction.Select({ + condition: ol.events.condition.pointerMove }); var selectElement = document.getElementById('type'); @@ -54,8 +54,8 @@ var changeInteraction = function() { select = selectSingleClick; } else if (value == 'click') { select = selectClick; - } else if (value == 'mousemove') { - select = selectMouseMove; + } else if (value == 'pointermove') { + select = selectPointerMove; } else { select = null; } diff --git a/src/ol/events/condition.js b/src/ol/events/condition.js index b6f4a61089..586b0f4be1 100644 --- a/src/ol/events/condition.js +++ b/src/ol/events/condition.js @@ -66,16 +66,6 @@ ol.events.condition.click = function(mapBrowserEvent) { }; -/** - * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event. - * @return {boolean} True if the browser event is a `mousemove` event. - * @api - */ -ol.events.condition.mouseMove = function(mapBrowserEvent) { - return mapBrowserEvent.originalEvent.type == 'mousemove'; -}; - - /** * Always false. * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event. @@ -86,6 +76,16 @@ ol.events.condition.mouseMove = function(mapBrowserEvent) { ol.events.condition.never = goog.functions.FALSE; +/** + * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event. + * @return {boolean} True if the browser event is a `pointermove` event. + * @api + */ +ol.events.condition.pointerMove = function(mapBrowserEvent) { + return mapBrowserEvent.type == 'pointermove'; +}; + + /** * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event. * @return {boolean} True if the event is a map `singleclick` event. diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 4fe27c34bb..0391cce51d 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -190,7 +190,7 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) { } features.extend(selected); } - return ol.events.condition.mouseMove(mapBrowserEvent); + return ol.events.condition.pointerMove(mapBrowserEvent); };