From 3d1ff6ac16c89ad7fd22b02042c5607674da4f8c Mon Sep 17 00:00:00 2001 From: Vanessa Date: Mon, 27 Mar 2023 11:42:39 +0800 Subject: [PATCH] :art: https://ld246.com/article/1679618995926 --- app/src/util/globalShortcut.ts | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index 954214834..e0d1349e1 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -361,11 +361,8 @@ export const globalShortcut = () => { const currentType = currentLiElement.getAttribute("data-type") as TDockType; if (currentType) { getDockByType(currentType).toggleModel(currentType, true); - const target = event.target as HTMLElement; - if (target.classList.contains("protyle-wysiwyg") || - target.classList.contains("protyle-title__input") || - target.tagName === "INPUT" || target.tagName === "TEXTAREA") { - target.blur(); + if (document.activeElement) { + (document.activeElement as HTMLElement).blur(); } } else { const currentId = currentLiElement.getAttribute("data-id"); @@ -613,10 +610,8 @@ export const globalShortcut = () => { const matchDock = getAllDocks().find(item => { if (matchHotKey(window.siyuan.config.keymap.general[item.hotkeyLangId].custom, event)) { getDockByType(item.type).toggleModel(item.type); - if (target.classList.contains("protyle-wysiwyg") || - target.classList.contains("protyle-title__input") || - target.tagName === "INPUT" || target.tagName === "TEXTAREA") { - target.blur(); + if (document.activeElement) { + (document.activeElement as HTMLElement).blur(); } event.preventDefault(); return true; @@ -627,23 +622,18 @@ export const globalShortcut = () => { } if (matchHotKey(window.siyuan.config.keymap.general.riffCard.custom, event)) { openCard(); - if (target.classList.contains("protyle-wysiwyg") || - target.tagName === "TABLE" || - target.classList.contains("protyle-title__input") || - target.tagName === "INPUT" || target.tagName === "TEXTAREA") { - target.blur(); + if (document.activeElement) { + (document.activeElement as HTMLElement).blur(); } event.preventDefault(); return; } if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.dailyNote.custom, event)) { newDailyNote(); - if (target.classList.contains("protyle-wysiwyg") || - target.tagName === "TABLE" || - target.classList.contains("protyle-title__input") || - target.tagName === "INPUT" || target.tagName === "TEXTAREA") { - target.blur(); + if (document.activeElement) { + (document.activeElement as HTMLElement).blur(); } + event.stopPropagation(); event.preventDefault(); return; }