Ver Fonte

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

Vanessa há 1 ano atrás
pai
commit
e7204ac10f
1 ficheiros alterados com 9 adições e 3 exclusões
  1. 9 3
      app/src/protyle/wysiwyg/keydown.ts

+ 9 - 3
app/src/protyle/wysiwyg/keydown.ts

@@ -6,7 +6,7 @@ import {
     focusByWbr,
     focusByWbr,
     getEditorRange,
     getEditorRange,
     getSelectionOffset, getSelectionPosition,
     getSelectionOffset, getSelectionPosition,
-    selectAll, setFirstNodeRange,
+    selectAll, setFirstNodeRange, setLastNodeRange,
 } from "../util/selection";
 } from "../util/selection";
 import {
 import {
     hasClosestBlock,
     hasClosestBlock,
@@ -687,6 +687,9 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
                         }
                         }
                         focusBlock(nextElement);
                         focusBlock(nextElement);
                         scrollCenter(protyle, nextElement);
                         scrollCenter(protyle, nextElement);
+                    } else {
+                        setLastNodeRange(nodeEditableElement, range, false);
+                        range.collapse(false)
                     }
                     }
                     event.stopPropagation();
                     event.stopPropagation();
                     event.preventDefault();
                     event.preventDefault();
@@ -696,9 +699,12 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
                     if (nextFoldElement && nextFoldElement.getAttribute("fold") === "1") {
                     if (nextFoldElement && nextFoldElement.getAttribute("fold") === "1") {
                         focusBlock(nextFoldElement);
                         focusBlock(nextFoldElement);
                         scrollCenter(protyle, nextFoldElement);
                         scrollCenter(protyle, nextFoldElement);
-                        event.stopPropagation();
-                        event.preventDefault();
+                    } else {
+                        setLastNodeRange(nodeEditableElement, range, false);
+                        range.collapse(false)
                     }
                     }
+                    event.stopPropagation();
+                    event.preventDefault();
                 }
                 }
             }
             }
             return;
             return;