From fb2c35e9d3ff0100a34d7dcb9c6cde7dd03b031d Mon Sep 17 00:00:00 2001 From: Vanessa Date: Tue, 14 Feb 2023 10:53:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E9=9A=90=E8=97=8F=E5=81=9C=E9=9D=A0?= =?UTF-8?q?=E6=A0=8F=E4=BC=9A=E5=AF=BC=E8=87=B4=E7=82=B9=E5=87=BB=E4=B8=A4?= =?UTF-8?q?=E4=BE=A7=E5=86=85=E5=AE=B9=E8=A7=A6=E5=8F=91=E6=B5=AE=E5=8A=A8?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=BC=B9=E5=87=BA=EF=BC=8C=E5=9B=A0=E6=AD=A4?= =?UTF-8?q?=E9=9C=80=E5=87=8F=E5=B0=8F=E9=BC=A0=E6=A0=87=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/layout/dock/index.ts | 2 +- app/src/util/globalShortcut.ts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/layout/dock/index.ts b/app/src/layout/dock/index.ts index 88f31e961..b5e4ebf5e 100644 --- a/app/src/layout/dock/index.ts +++ b/app/src/layout/dock/index.ts @@ -131,7 +131,7 @@ ${this.position === "Top" ? ("top:" + (this.element.offsetHeight + document.getE } }); this.layout.element.addEventListener("mouseleave", (event: MouseEvent & { toElement: HTMLElement }) => { - if (this.pin || event.toElement.classList.contains("b3-menu")) { + if (this.pin || event.toElement?.classList.contains("b3-menu")) { return; } if (this.position === "Left" && event.clientX < 43) { diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index aa9592f78..e3f269481 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -97,7 +97,9 @@ export const globalShortcut = () => { } if (!isWindow() && !hasClosestByClassName(event.target, "b3-dialog") && !hasClosestByClassName(event.target, "b3-menu")) { if (event.clientX < 43) { - if (!window.siyuan.layout.leftDock.pin && window.siyuan.layout.leftDock.layout.element.clientWidth > 0) { + if (!window.siyuan.layout.leftDock.pin && window.siyuan.layout.leftDock.layout.element.clientWidth > 0 && + // 隐藏停靠栏会导致点击两侧内容触发浮动面板弹出,因此需减小鼠标范围 + (window.siyuan.layout.leftDock.element.clientWidth > 0 || (window.siyuan.layout.leftDock.element.clientWidth === 0 && event.clientX < 8))) { if (event.clientY > document.getElementById("toolbar").clientHeight + document.getElementById("dockTop").clientHeight && event.clientY < window.innerHeight - document.getElementById("status").clientHeight - document.getElementById("dockBottom").clientHeight) { if (!hasClosestByClassName(event.target, "b3-menu") && @@ -109,7 +111,8 @@ export const globalShortcut = () => { } } } else if (event.clientX > window.innerWidth - 41) { - if (!window.siyuan.layout.rightDock.pin && window.siyuan.layout.rightDock.layout.element.clientWidth > 0) { + if (!window.siyuan.layout.rightDock.pin && window.siyuan.layout.rightDock.layout.element.clientWidth > 0 && + (window.siyuan.layout.rightDock.element.clientWidth > 0 || (window.siyuan.layout.rightDock.element.clientWidth === 0 && event.clientX > window.innerWidth - 8))) { if (event.clientY > document.getElementById("toolbar").clientHeight + document.getElementById("dockTop").clientHeight && event.clientY < window.innerHeight - document.getElementById("status").clientHeight - document.getElementById("dockBottom").clientHeight) { if (!hasClosestByClassName(event.target, "layout--float")) {