From f5bdb6240bcd170588b45c55069e8872dc6cc162 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 9 Oct 2022 19:44:38 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/6122 --- app/src/protyle/toolbar/index.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/protyle/toolbar/index.ts b/app/src/protyle/toolbar/index.ts index dc5110e78..e5090225c 100644 --- a/app/src/protyle/toolbar/index.ts +++ b/app/src/protyle/toolbar/index.ts @@ -1030,22 +1030,24 @@ export class Toolbar { } // 光标定位 - if (renderElement.tagName === "SPAN") { - if (inlineLastNode) { - if (inlineLastNode.parentElement) { - this.range.setStartAfter(inlineLastNode); + if (getSelection().rangeCount === 0) { // https://ld246.com/article/1665306093005 + if (renderElement.tagName === "SPAN") { + if (inlineLastNode) { + if (inlineLastNode.parentElement) { + this.range.setStartAfter(inlineLastNode); + this.range.collapse(true); + focusByRange(this.range); + } else { + focusByWbr(nodeElement, this.range); + } + } else if (renderElement.parentElement) { + this.range.setStartAfter(renderElement); this.range.collapse(true); focusByRange(this.range); - } else { - focusByWbr(nodeElement, this.range); } - } else if (renderElement.parentElement) { - this.range.setStartAfter(renderElement); - this.range.collapse(true); - focusByRange(this.range); + } else { + focusSideBlock(renderElement); } - } else { - focusSideBlock(renderElement); } nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));