瀏覽代碼

:children_crossing: https://github.com/siyuan-note/siyuan/issues/5955 5

Vanessa 2 年之前
父節點
當前提交
d1a6ee491e
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      app/src/protyle/util/table.ts

+ 5 - 1
app/src/protyle/util/table.ts

@@ -393,6 +393,8 @@ export const fixTable = (protyle: IProtyle, event: KeyboardEvent, range: Range)
         let previousBrElement;
         if (startContainer.nodeType !== 3 && (startContainer.tagName === "TH" || startContainer.tagName === "TD")) {
             previousBrElement = (startContainer.childNodes[Math.max(0, range.startOffset - 1)] as HTMLElement)?.previousElementSibling;
+        } else if(startContainer.parentElement.tagName=== "SPAN") {
+            previousBrElement = startContainer.parentElement.previousElementSibling;
         } else {
             previousBrElement = startContainer.previousElementSibling;
         }
@@ -422,11 +424,13 @@ export const fixTable = (protyle: IProtyle, event: KeyboardEvent, range: Range)
         let nextBrElement;
         if (endContainer.nodeType !== 3 && (endContainer.tagName === "TH" || endContainer.tagName === "TD")) {
             nextBrElement = (endContainer.childNodes[Math.max(0, range.endOffset - 1)] as HTMLElement)?.nextElementSibling;
+        } else if(endContainer.parentElement.tagName=== "SPAN") {
+            nextBrElement = endContainer.parentElement.nextElementSibling;
         } else {
             nextBrElement = endContainer.nextElementSibling;
         }
         while (nextBrElement) {
-            if (nextBrElement.tagName === "BR") {
+            if (nextBrElement.tagName === "BR" && nextBrElement.nextSibling) {
                 return false;
             }
             nextBrElement = nextBrElement.nextElementSibling;