diff --git a/src/utils/Mouse.ts b/src/utils/Mouse.ts index c61624e9..e1901f2d 100644 --- a/src/utils/Mouse.ts +++ b/src/utils/Mouse.ts @@ -12,6 +12,7 @@ export function getCoordsRelativeToElement(event: MouseEvent, element: HTMLEleme let x = event.pageX; let y = event.pageY; + const originalElement = element; // Converts the coordinates from being relative to the document to being // relative to the terminal. @@ -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]; }