From 2a61205654f7421f0a44f58b1a613d6a3d34bcb3 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 24 Dec 2025 20:41:06 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16684 --- app/src/protyle/wysiwyg/getBlock.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/protyle/wysiwyg/getBlock.ts b/app/src/protyle/wysiwyg/getBlock.ts index cef6d428c..67a9cc300 100644 --- a/app/src/protyle/wysiwyg/getBlock.ts +++ b/app/src/protyle/wysiwyg/getBlock.ts @@ -78,7 +78,7 @@ export const getNoContainerElement = (element: Element) => { return false; }; -export const getContenteditableElement = (element: Element) => { +export const getContenteditableElement = (element: Element): Element => { if (!element) { return element; } @@ -92,16 +92,19 @@ export const getContenteditableElement = (element: Element) => { if (!blockElement) { return element; } - const type = element.getAttribute("data-type"); + const type = blockElement.getAttribute("data-type"); if (["NodeParagraph", "NodeHeading"].includes(type)) { - return element.firstElementChild; + return blockElement.firstElementChild; } else if ("NodeTable" === type) { - return element.querySelector("table"); + return blockElement.querySelector("table"); } else if ("NodeCodeBlock" === type) { - return element.querySelector(".hljs").lastElementChild; - } else { + return blockElement.querySelector(".hljs").lastElementChild; + } else if (["NodeBlockQueryEmbed", "NodeMathBlock", "NodeHTMLBlock"].includes(type)) { return element; + } else if (element.getAttribute("data-node-id")) { + return getContenteditableElement(element.querySelector("[data-node-id]")); } + return element; }; export const isNotEditBlock = (element: Element) => {