From d1a6ee491e2f90f58ebde51e27c171c54ab757b0 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 28 Sep 2022 11:25:43 +0800 Subject: [PATCH] :children_crossing: https://github.com/siyuan-note/siyuan/issues/5955 5 --- app/src/protyle/util/table.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/protyle/util/table.ts b/app/src/protyle/util/table.ts index cda4ea7b9..bed607e45 100644 --- a/app/src/protyle/util/table.ts +++ b/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;