From e7204ac10f325d6f80ea42eb0df849419d2e207f Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 3 Apr 2024 09:18:34 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/10847 --- app/src/protyle/wysiwyg/keydown.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 9470381b2..f5cca5377 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -6,7 +6,7 @@ import { focusByWbr, getEditorRange, getSelectionOffset, getSelectionPosition, - selectAll, setFirstNodeRange, + selectAll, setFirstNodeRange, setLastNodeRange, } from "../util/selection"; import { hasClosestBlock, @@ -687,6 +687,9 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { } focusBlock(nextElement); scrollCenter(protyle, nextElement); + } else { + setLastNodeRange(nodeEditableElement, range, false); + range.collapse(false) } event.stopPropagation(); event.preventDefault(); @@ -696,9 +699,12 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { if (nextFoldElement && nextFoldElement.getAttribute("fold") === "1") { focusBlock(nextFoldElement); scrollCenter(protyle, nextFoldElement); - event.stopPropagation(); - event.preventDefault(); + } else { + setLastNodeRange(nodeEditableElement, range, false); + range.collapse(false) } + event.stopPropagation(); + event.preventDefault(); } } return;