This commit is contained in:
Vanessa 2023-01-31 19:11:06 +08:00
parent dc6ba89033
commit ef436cf12e

View file

@ -90,7 +90,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
event.code !== "") { // 悬浮工具会触发但 code 为空 https://github.com/siyuan-note/siyuan/issues/6573
hideElements(["toolbar"], protyle);
}
const range = getEditorRange(protyle.wysiwyg.element);
let range = getEditorRange(protyle.wysiwyg.element);
const nodeElement = hasClosestBlock(range.startContainer);
if (!nodeElement) {
return;
@ -134,9 +134,12 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
if (event.key !== "PageUp" && event.key !== "PageDown" && event.key !== "Home" && event.key !== "End" && event.key.indexOf("Arrow") === -1 &&
event.key !== "Escape" && event.key !== "Shift" && event.key !== "Meta" && event.key !== "Alt" && event.key !== "Control" && event.key !== "CapsLock" &&
!/^F\d{1,2}$/.test(event.key) && typeof protyle.wysiwyg.lastHTMLs[nodeElement.getAttribute("data-node-id")] === "undefined") {
const cloneRange = range.cloneRange();
range.insertNode(document.createElement("wbr"));
protyle.wysiwyg.lastHTMLs[nodeElement.getAttribute("data-node-id")] = nodeElement.outerHTML;
nodeElement.querySelector("wbr").remove();
// 光标位于引用结尾后 ctrl+b 偶尔会失效
range = cloneRange;
}
if (bindMenuKeydown(event)) {