diff options
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/document.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/fg/js/document.js b/ext/fg/js/document.js index 727bc5d2..b6e1f83b 100644 --- a/ext/fg/js/document.js +++ b/ext/fg/js/document.js @@ -269,15 +269,19 @@ function caretRangeFromPointExt(x, y, elements) { const modifications = []; try { let i = 0; + let startContinerPre = null; while (true) { const range = caretRangeFromPoint(x, y); if (range === null) { return null; } - const inRange = isPointInRange(x, y, range); - if (inRange) { - return range; + const startContainer = range.startContainer; + if (startContinerPre !== startContainer) { + if (isPointInRange(x, y, range)) { + return range; + } + startContinerPre = startContainer; } i = disableTransparentElement(elements, i, modifications); |