Merge pull request #8465 from ahocevar/no-prevent-default-on-pointermove
Do not prevent default on pointermove
This commit is contained in:
@@ -223,6 +223,9 @@ export function handleEvent(mapBrowserEvent) {
|
|||||||
} else {
|
} else {
|
||||||
if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {
|
if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {
|
||||||
const handled = this.handleDownEvent_(mapBrowserEvent);
|
const handled = this.handleDownEvent_(mapBrowserEvent);
|
||||||
|
if (handled) {
|
||||||
|
mapBrowserEvent.preventDefault();
|
||||||
|
}
|
||||||
this.handlingDownUpSequence = handled;
|
this.handlingDownUpSequence = handled;
|
||||||
stopEvent = this.stopDown(handled);
|
stopEvent = this.stopDown(handled);
|
||||||
} else if (mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE) {
|
} else if (mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE) {
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ function touchstart(inEvent) {
|
|||||||
* @param {TouchEvent} inEvent The in event.
|
* @param {TouchEvent} inEvent The in event.
|
||||||
*/
|
*/
|
||||||
function touchmove(inEvent) {
|
function touchmove(inEvent) {
|
||||||
inEvent.preventDefault();
|
|
||||||
this.processTouches_(inEvent, this.moveOverOut_);
|
this.processTouches_(inEvent, this.moveOverOut_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,8 @@ describe('ol.interaction.Draw', function() {
|
|||||||
const event = new PointerEvent(type, {
|
const event = new PointerEvent(type, {
|
||||||
clientX: position.left + x + width / 2,
|
clientX: position.left + x + width / 2,
|
||||||
clientY: position.top + y + height / 2,
|
clientY: position.top + y + height / 2,
|
||||||
shiftKey: shiftKey
|
shiftKey: shiftKey,
|
||||||
|
preventDefault: function() {}
|
||||||
}, {
|
}, {
|
||||||
pointerType: 'mouse'
|
pointerType: 'mouse'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -55,7 +55,8 @@ describe('ol.interaction.Extent', function() {
|
|||||||
button: button,
|
button: button,
|
||||||
clientX: position.left + x + width / 2,
|
clientX: position.left + x + width / 2,
|
||||||
clientY: position.top - y + height / 2,
|
clientY: position.top - y + height / 2,
|
||||||
shiftKey: shiftKey
|
shiftKey: shiftKey,
|
||||||
|
preventDefault: function() {}
|
||||||
});
|
});
|
||||||
const event = new MapBrowserPointerEvent(type, map, pointerEvent);
|
const event = new MapBrowserPointerEvent(type, map, pointerEvent);
|
||||||
event.pointerEvent.pointerId = 1;
|
event.pointerEvent.pointerId = 1;
|
||||||
|
|||||||
@@ -86,7 +86,8 @@ describe('ol.interaction.Modify', function() {
|
|||||||
clientX: position.left + x + width / 2,
|
clientX: position.left + x + width / 2,
|
||||||
clientY: position.top + y + height / 2,
|
clientY: position.top + y + height / 2,
|
||||||
shiftKey: modifiers.shift || false,
|
shiftKey: modifiers.shift || false,
|
||||||
altKey: modifiers.alt || false
|
altKey: modifiers.alt || false,
|
||||||
|
preventDefault: function() {}
|
||||||
}, {
|
}, {
|
||||||
button: button,
|
button: button,
|
||||||
isPrimary: true
|
isPrimary: true
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
import Map from '../../../../src/ol/Map.js';
|
||||||
|
import MapBrowserPointerEvent from '../../../../src/ol/MapBrowserPointerEvent.js';
|
||||||
|
import PointerEvent from '../../../../src/ol/pointer/PointerEvent.js';
|
||||||
|
import PointerInteraction from '../../../../src/ol/interaction/Pointer.js';
|
||||||
|
|
||||||
|
describe('ol.interaction.Pointer', function() {
|
||||||
|
|
||||||
|
describe('#handleEvent', function() {
|
||||||
|
|
||||||
|
let event;
|
||||||
|
let defaultPrevented;
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
const type = 'pointerdown';
|
||||||
|
const pointerEvent = new PointerEvent(type, {
|
||||||
|
type: type,
|
||||||
|
preventDefault: function() {
|
||||||
|
defaultPrevented = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
event = new MapBrowserPointerEvent(type, new Map(), pointerEvent);
|
||||||
|
defaultPrevented = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
it('prevents default on handled down event', function() {
|
||||||
|
const interaction = new PointerInteraction({
|
||||||
|
handleDownEvent: function() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
interaction.handleEvent(event);
|
||||||
|
expect(defaultPrevented).to.be(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('does not prevent default on unhandled down event', function() {
|
||||||
|
const interaction = new PointerInteraction({
|
||||||
|
handleDownEvent: function() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
interaction.handleEvent(event);
|
||||||
|
expect(defaultPrevented).to.be(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
@@ -70,7 +70,8 @@ describe('ol.interaction.Translate', function() {
|
|||||||
new PointerEvent(type, {
|
new PointerEvent(type, {
|
||||||
clientX: position.left + x + width / 2,
|
clientX: position.left + x + width / 2,
|
||||||
clientY: position.top + y + height / 2,
|
clientY: position.top + y + height / 2,
|
||||||
shiftKey: shiftKey
|
shiftKey: shiftKey,
|
||||||
|
preventDefault: function() {}
|
||||||
}));
|
}));
|
||||||
map.handleMapBrowserEvent(event);
|
map.handleMapBrowserEvent(event);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user