From ba3aef8aaea30f5140eb53ec0f411133c6bda675 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 23 Apr 2025 19:12:18 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/14645 --- app/src/protyle/util/selection.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/util/selection.ts b/app/src/protyle/util/selection.ts index b05e0571b..4e9724315 100644 --- a/app/src/protyle/util/selection.ts +++ b/app/src/protyle/util/selection.ts @@ -452,7 +452,7 @@ export const focusByOffset = (container: Element, start: number, end: number, is const range = document.createRange(); if (startNode) { - if (startNode.nodeType === Node.TEXT_NODE && start < (startNode as Text).data.length) { + if (startNode.nodeType === Node.TEXT_NODE && start <= (startNode as Text).data.length) { range.setStart(startNode, start); } else { range.setStartAfter(startNode); @@ -466,7 +466,7 @@ export const focusByOffset = (container: Element, start: number, end: number, is } if (endNode) { - if (end < (endNode as Text).data.length) { + if (end <= (endNode as Text).data.length) { range.setEnd(endNode, end); } else { range.setEndAfter(endNode); @@ -485,7 +485,7 @@ export const focusByOffset = (container: Element, start: number, end: number, is }; export const setInsertWbrHTML = (nodeElement: HTMLElement, range: Range, protyle: IProtyle) => { - const offset = getSelectionOffset(nodeElement, nodeElement, range); + const offset = getSelectionOffset(getContenteditableElement(nodeElement), nodeElement, range); const cloneNode = nodeElement.cloneNode(true) as HTMLElement; const cloneRange = focusByOffset(cloneNode, offset.end, offset.end, false); if (cloneRange) {