From c93b0f6ace0e1315cf527d48e7687eb325b977a3 Mon Sep 17 00:00:00 2001 From: V Date: Sat, 16 Nov 2024 09:58:30 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/12989 --- app/src/boot/globalEvent/keydown.ts | 9 +++++---- app/src/protyle/wysiwyg/keydown.ts | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/boot/globalEvent/keydown.ts b/app/src/boot/globalEvent/keydown.ts index e4fc1a9a3..6c27c3931 100644 --- a/app/src/boot/globalEvent/keydown.ts +++ b/app/src/boot/globalEvent/keydown.ts @@ -1371,6 +1371,11 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => { return; } + // 闪卡长按 Esc 光标定位到闪卡按钮上 https://github.com/siyuan-note/siyuan/issues/12989 + if (document.activeElement && hasClosestByClassName(document.activeElement, "card__action")) { + return; + } + if (window.siyuan.dialogs.length > 0) { window.siyuan.dialogs[window.siyuan.dialogs.length - 1].destroy(); return; @@ -1404,10 +1409,6 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => { return; } - // 闪卡长按 Esc 光标定位到闪卡按钮上 https://github.com/siyuan-note/siyuan/issues/12989 - if (document.activeElement && hasClosestByClassName(document.activeElement, "card__action")) { - return; - } // 光标在文档树等面板中,按 Esc 回到编辑器中 https://github.com/siyuan-note/siyuan/issues/4289 if (getSelection().rangeCount > 0) { const range = getSelection().getRangeAt(0); diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 55a1070c0..db980eea6 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -1180,7 +1180,7 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { // https://github.com/siyuan-note/siyuan/issues/12989 const cardElement = hasClosestByClassName(range.startContainer, "card__main", true); if (cardElement && document.activeElement && document.activeElement.classList.contains("protyle-wysiwyg")) { - (cardElement.querySelector(".card__action:not(.fn__none) button") as HTMLElement).focus(); + (cardElement.querySelector(".card__action:not(.fn__none) button:not([disabled])") as HTMLElement).focus(); hideElements(["select"], protyle); } } else {