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="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">
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user