From 8a4e4e0128988f15670168e93df208fa2646368b Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 16 Aug 2023 23:50:24 +0800 Subject: [PATCH] :bug: $$ --- app/src/protyle/toolbar/index.ts | 5 ++++- app/src/protyle/wysiwyg/input.ts | 5 ++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/protyle/toolbar/index.ts b/app/src/protyle/toolbar/index.ts index 4fe917015..22a5ec458 100644 --- a/app/src/protyle/toolbar/index.ts +++ b/app/src/protyle/toolbar/index.ts @@ -1076,7 +1076,10 @@ export class Toolbar { } // 光标定位 - if (getSelection().rangeCount === 0) { // https://ld246.com/article/1665306093005 + if (getSelection().rangeCount === 0 || + // $$ 中间输入后再 ESC 光标无法定位 + (getSelection().rangeCount > 0 && hasClosestByClassName(getSelection().getRangeAt(0).startContainer, "protyle-util")) + ) { // https://ld246.com/article/1665306093005 if (renderElement.tagName === "SPAN") { if (inlineLastNode) { if (inlineLastNode.parentElement) { diff --git a/app/src/protyle/wysiwyg/input.ts b/app/src/protyle/wysiwyg/input.ts index 41e7788bb..32038eae0 100644 --- a/app/src/protyle/wysiwyg/input.ts +++ b/app/src/protyle/wysiwyg/input.ts @@ -148,15 +148,14 @@ export const input = async (protyle: IProtyle, blockElement: HTMLElement, range: // 使用 md 闭合后继续输入应为普通文本 blockElement.outerHTML = html.replace("", "" + Constants.ZWSP + ""); } - // https://github.com/siyuan-note/siyuan/issues/8972 - const mathSize = blockElement.querySelectorAll('[data-type="inline-math"]').length; protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${id}"]`).forEach((item: HTMLElement) => { if (item.getAttribute("data-type") === "NodeBlockQueryEmbed" || !hasClosestByAttribute(item, "data-type", "NodeBlockQueryEmbed")) { blockElement = item; } }); - if (mathSize > 0 && mathSize < html.split(' 1) { Array.from(blockElement.querySelectorAll('[data-type="inline-math"]')).find((item: HTMLElement) => { if (item.dataset.content.indexOf("") > -1) { item.setAttribute("data-content", item.dataset.content.replace("", ""));