Skip to content

Commit 94702ff

Browse files
committed
Fix microsoft/monaco-editor#1353. Use wheel event for modern browsers.
1 parent 6157007 commit 94702ff

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/vs/base/browser/mouseEvent.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ export class StandardWheelEvent {
160160
this.deltaY = e1.wheelDeltaY / 120;
161161
} else if (typeof e2.VERTICAL_AXIS !== 'undefined' && e2.axis === e2.VERTICAL_AXIS) {
162162
this.deltaY = -e2.detail / 3;
163+
} else {
164+
this.deltaY = -e.deltaY / 40;
163165
}
164166

165167
// horizontal delta scroll
@@ -171,6 +173,8 @@ export class StandardWheelEvent {
171173
}
172174
} else if (typeof e2.HORIZONTAL_AXIS !== 'undefined' && e2.axis === e2.HORIZONTAL_AXIS) {
173175
this.deltaX = -e.detail / 3;
176+
} else {
177+
this.deltaX = -e.deltaX / 40;
174178
}
175179

176180
// Assume a vertical scroll if nothing else worked
@@ -195,4 +199,4 @@ export class StandardWheelEvent {
195199
}
196200
}
197201
}
198-
}
202+
}

src/vs/base/browser/ui/scrollbar/scrollableElement.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import 'vs/css!./media/scrollbars';
7+
import { isEdgeOrIE } from 'vs/base/browser/browser';
78
import * as dom from 'vs/base/browser/dom';
89
import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
910
import { IMouseEvent, StandardWheelEvent, IMouseWheelEvent } from 'vs/base/browser/mouseEvent';
@@ -312,7 +313,7 @@ export abstract class AbstractScrollableElement extends Widget {
312313
this._onMouseWheel(new StandardWheelEvent(browserEvent));
313314
};
314315

315-
this._mouseWheelToDispose.push(dom.addDisposableListener(this._listenOnDomNode, 'mousewheel', onMouseWheel));
316+
this._mouseWheelToDispose.push(dom.addDisposableListener(this._listenOnDomNode, isEdgeOrIE ? 'mousewheel' : 'wheel', onMouseWheel));
316317
}
317318
}
318319

src/vs/editor/browser/controller/mouseHandler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export class MouseHandler extends ViewEventHandler {
123123
e.stopPropagation();
124124
}
125125
};
126-
this._register(dom.addDisposableListener(this.viewHelper.viewDomNode, 'mousewheel', onMouseWheel, true));
126+
this._register(dom.addDisposableListener(this.viewHelper.viewDomNode, browser.isEdgeOrIE ? 'mousewheel' : 'wheel', onMouseWheel, true));
127127

128128
this._context.addEventHandler(this);
129129
}

0 commit comments

Comments
 (0)