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'.
This commit is contained in:
Alexandre Dubé
2015-02-27 12:14:13 -05:00
parent 6c4b30fa02
commit d1185da6b1
4 changed files with 17 additions and 17 deletions

View File

@@ -41,7 +41,7 @@
<option value="none" selected>None</option> <option value="none" selected>None</option>
<option value="singleclick">Single-click</option> <option value="singleclick">Single-click</option>
<option value="click">Click</option> <option value="click">Click</option>
<option value="mousemove">Hover</option> <option value="pointermove">Hover</option>
</select> </select>
</form> </form>
<div id="docs"> <div id="docs">

View File

@@ -38,9 +38,9 @@ var selectClick = new ol.interaction.Select({
condition: ol.events.condition.click condition: ol.events.condition.click
}); });
// select interaction working on "mousemove" // select interaction working on "pointermove"
var selectMouseMove = new ol.interaction.Select({ var selectPointerMove = new ol.interaction.Select({
condition: ol.events.condition.mouseMove condition: ol.events.condition.pointerMove
}); });
var selectElement = document.getElementById('type'); var selectElement = document.getElementById('type');
@@ -54,8 +54,8 @@ var changeInteraction = function() {
select = selectSingleClick; select = selectSingleClick;
} else if (value == 'click') { } else if (value == 'click') {
select = selectClick; select = selectClick;
} else if (value == 'mousemove') { } else if (value == 'pointermove') {
select = selectMouseMove; select = selectPointerMove;
} else { } else {
select = null; select = null;
} }

View File

@@ -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. * Always false.
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event. * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
@@ -86,6 +76,16 @@ ol.events.condition.mouseMove = function(mapBrowserEvent) {
ol.events.condition.never = goog.functions.FALSE; 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. * @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if the event is a map `singleclick` event. * @return {boolean} True if the event is a map `singleclick` event.

View File

@@ -190,7 +190,7 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) {
} }
features.extend(selected); features.extend(selected);
} }
return ol.events.condition.mouseMove(mapBrowserEvent); return ol.events.condition.pointerMove(mapBrowserEvent);
}; };