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:
@@ -41,7 +41,7 @@
|
||||
<option value="none" selected>None</option>
|
||||
<option value="singleclick">Single-click</option>
|
||||
<option value="click">Click</option>
|
||||
<option value="mousemove">Hover</option>
|
||||
<option value="pointermove">Hover</option>
|
||||
</select>
|
||||
</form>
|
||||
<div id="docs">
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user