Skip to content

Commit f2ee04a

Browse files
authored
Fix mouse wheel scroll listenings (#1153)
* change mousewheel to wheel and set passive to false * use deltaY instead of wheelDelta
1 parent 830c5f1 commit f2ee04a

File tree

4 files changed

+11
-9
lines changed

4 files changed

+11
-9
lines changed

src/core/util/dom.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,13 @@ export function addDomEvent(obj, typeArr, handler, context) {
171171
callback: eventHandler,
172172
src: handler
173173
});
174-
//firefox
175-
if (type === 'mousewheel' && Browser.gecko) {
176-
type = 'DOMMouseScroll';
174+
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
175+
if (Browser.ie) {
176+
// ie doesn't support options as the third parameter
177+
obj.addEventListener(type, eventHandler, false);
178+
} else {
179+
obj.addEventListener(type, eventHandler, { capture: false, passive: false });
177180
}
178-
obj.addEventListener(type, eventHandler, false);
179181
}
180182
return this;
181183
}

src/map/handler/Map.ScrollWheelZoom.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ class MapScrollWheelZoomHandler extends Handler {
2626
}
2727

2828
addHooks() {
29-
addDomEvent(this.target._containerDOM, 'mousewheel', this._onWheelScroll, this);
29+
addDomEvent(this.target._containerDOM, 'wheel', this._onWheelScroll, this);
3030
}
3131

3232
removeHooks() {
33-
removeDomEvent(this.target._containerDOM, 'mousewheel', this._onWheelScroll);
33+
removeDomEvent(this.target._containerDOM, 'wheel', this._onWheelScroll);
3434
}
3535

3636
_onWheelScroll(evt) {
@@ -128,7 +128,7 @@ class MapScrollWheelZoomHandler extends Handler {
128128
return false;
129129
}
130130
this._requesting = 0;
131-
let levelValue = (evt.wheelDelta ? evt.wheelDelta : evt.detail) > 0 ? 1 : -1;
131+
let levelValue = (evt.deltaY ? evt.deltaY * -1 : evt.wheelDelta ? evt.wheelDelta : evt.detail) > 0 ? 1 : -1;
132132
if (evt.detail) {
133133
levelValue *= -1;
134134
}

test/map/MapAnimSpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ describe('Map.Anim', function () {
144144
});
145145
setTimeout(function () {
146146
happen.once(container, {
147-
type: (maptalks.Browser.gecko ? 'DOMMouseScroll' : 'mousewheel'),
147+
type: 'wheel',
148148
detail: 100
149149
});
150150
}, 100);

test/map/MapScrollZoomSpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ describe('Map.ScrollZoom', function () {
77
var delay;
88
function scrollMap(delta) {
99
happen.once(container, {
10-
type: (maptalks.Browser.gecko ? 'DOMMouseScroll' : 'mousewheel'),
10+
type: 'wheel',
1111
detail: delta
1212
});
1313
}

0 commit comments

Comments
 (0)