From 840ab33fb1b6a6d4bd0f9d7b2d4072e19ba64529 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 8 Oct 2022 16:53:57 +0800 Subject: [PATCH] :bug: fix https://github.com/siyuan-note/siyuan/issues/6092 --- app/src/protyle/wysiwyg/keydown.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 1d05aee56..82261962d 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -699,6 +699,27 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { return; } } + // 行首转义符前删除 https://github.com/siyuan-note/siyuan/issues/6092 + if (range.startOffset === 0 && + previousSibling && previousSibling.parentElement.getAttribute("data-type").indexOf('backslash') > -1 && + previousSibling.nodeType !== 3 && (previousSibling as HTMLElement).outerHTML === "\\" && + !hasPreviousSibling(previousSibling)) { + range.setStartBefore(previousSibling.parentElement); + removeBlock(protyle, nodeElement, range); + event.stopPropagation(); + event.preventDefault(); + return; + } + // 光标位于转义符前 F5 后,rang 和点击后的不同,也需进行判断 + if (range.startOffset === 1 && range.startContainer.nodeType !== 3 && + range.startContainer.parentElement.getAttribute("data-type").indexOf('backslash') > -1 && + !hasPreviousSibling(range.startContainer.parentElement)) { + range.setStartBefore(range.startContainer.parentElement); + removeBlock(protyle, nodeElement, range); + event.stopPropagation(); + event.preventDefault(); + return; + } const imgSelectElement = protyle.wysiwyg.element.querySelector(".img--select"); if (protyle.wysiwyg.element.querySelector(".protyle-wysiwyg--select")) { removeBlock(protyle, nodeElement, range);