diff --git a/src/browser/Lifecycle.ts b/src/browser/Lifecycle.ts index 42850d30..6e841794 100644 --- a/src/browser/Lifecycle.ts +++ b/src/browser/Lifecycle.ts @@ -14,9 +14,9 @@ export function addDisposableDomListener( node: Element | Window | Document, type: string, handler: (e: any) => void, - useCapture?: boolean + options?: boolean | AddEventListenerOptions ): IDisposable { - node.addEventListener(type, handler, useCapture); + node.addEventListener(type, handler, options); let disposed = false; return { dispose: () => { @@ -24,7 +24,7 @@ export function addDisposableDomListener( return; } disposed = true; - node.removeEventListener(type, handler, useCapture); + node.removeEventListener(type, handler, options); } }; } diff --git a/src/browser/Terminal.ts b/src/browser/Terminal.ts index a1e5adf5..42b3fcca 100644 --- a/src/browser/Terminal.ts +++ b/src/browser/Terminal.ts @@ -674,7 +674,7 @@ export class Terminal extends CoreTerminal implements ITerminal { el.removeEventListener('wheel', requestedEvents.wheel!); requestedEvents.wheel = null; } else if (!requestedEvents.wheel) { - el.addEventListener('wheel', eventListeners.wheel); + el.addEventListener('wheel', eventListeners.wheel, { passive: false }); requestedEvents.wheel = eventListeners.wheel; } @@ -747,7 +747,7 @@ export class Terminal extends CoreTerminal implements ITerminal { } return; } - })); + }, { passive: true })); // allow wheel scrolling in // the shell for example @@ -756,20 +756,20 @@ export class Terminal extends CoreTerminal implements ITerminal { if (!this.viewport!.onWheel(ev)) { return this.cancel(ev); } - })); + }, { passive: true })); this.register(addDisposableDomListener(el, 'touchstart', (ev: TouchEvent) => { if (this._coreMouseService.areMouseEventsActive) return; this.viewport!.onTouchStart(ev); return this.cancel(ev); - })); + }, { passive: true })); this.register(addDisposableDomListener(el, 'touchmove', (ev: TouchEvent) => { if (this._coreMouseService.areMouseEventsActive) return; if (!this.viewport!.onTouchMove(ev)) { return this.cancel(ev); } - })); + }, { passive: true })); }