From 725ec80983638af28b4fcf29a3b96167dbbd180f Mon Sep 17 00:00:00 2001 From: dcylabs Date: Mon, 21 Aug 2017 20:27:17 +0200 Subject: [PATCH] Fixed selection issue when terminal is in nested scrolled elements --- src/utils/Mouse.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/utils/Mouse.ts b/src/utils/Mouse.ts index c61624e9f..6852452a4 100644 --- a/src/utils/Mouse.ts +++ b/src/utils/Mouse.ts @@ -10,6 +10,7 @@ export function getCoordsRelativeToElement(event: MouseEvent, element: HTMLEleme return null; } + const originalElement = element; let x = event.pageX; let y = event.pageY; @@ -20,6 +21,12 @@ export function getCoordsRelativeToElement(event: MouseEvent, element: HTMLEleme y -= element.offsetTop; element = 'offsetParent' in element ? element.offsetParent : element.parentElement; } + element = originalElement; + while (element && element !== self.document.documentElement) { + x += element.scrollLeft; + y += element.scrollTop; + element = element.parentElement; + } return [x, y]; }