瀏覽代碼

:art: fix https://github.com/siyuan-note/siyuan/issues/10847

Vanessa 1 年之前
父節點
當前提交
e7204ac10f
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      app/src/protyle/wysiwyg/keydown.ts

+ 9 - 3
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;