Browse Source

:art: fix https://github.com/siyuan-note/siyuan/issues/9018

Vanessa 1 year ago
parent
commit
477df7aa7c
2 changed files with 6 additions and 1 deletions
  1. 4 0
      app/src/block/popover.ts
  2. 2 1
      app/src/boot/globalShortcut.ts

+ 4 - 0
app/src/block/popover.ts

@@ -52,6 +52,10 @@ export const initBlockPopover = (app: App) => {
             if (!getTarget(event, aElement)) {
             if (!getTarget(event, aElement)) {
                 return;
                 return;
             }
             }
+            // https://github.com/siyuan-note/siyuan/issues/9007
+            if (event.relatedTarget && !document.contains(event.relatedTarget as Node)) {
+                return;
+            }
             if (window.siyuan.ctrlIsPressed) {
             if (window.siyuan.ctrlIsPressed) {
                 clearTimeout(timeoutHide);
                 clearTimeout(timeoutHide);
                 showPopover(app);
                 showPopover(app);

+ 2 - 1
app/src/boot/globalShortcut.ts

@@ -445,7 +445,8 @@ export const globalShortcut = (app: App) => {
         if (!event.altKey && !event.shiftKey && isCtrl(event)) {
         if (!event.altKey && !event.shiftKey && isCtrl(event)) {
             if (event.key === "Meta" || event.key === "Control" || event.ctrlKey || event.metaKey) {
             if (event.key === "Meta" || event.key === "Control" || event.ctrlKey || event.metaKey) {
                 window.siyuan.ctrlIsPressed = true;
                 window.siyuan.ctrlIsPressed = true;
-                if (window.siyuan.config.editor.floatWindowMode === 1 && !event.repeat) {
+                if ((event.key === "Meta" || event.key === "Control") &&
+                    window.siyuan.config.editor.floatWindowMode === 1 && !event.repeat) {
                     showPopover(app);
                     showPopover(app);
                 }
                 }
             } else {
             } else {