From 3724d274c9f261c6de24b01c1f11cf509a147675 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 1 Sep 2023 21:23:58 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/9089 --- app/src/boot/globalEvent/event.ts | 14 ++++++++++++-- app/src/boot/globalEvent/mousemove.ts | 9 +++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/boot/globalEvent/event.ts b/app/src/boot/globalEvent/event.ts index 85a206f49..e49ee4a31 100644 --- a/app/src/boot/globalEvent/event.ts +++ b/app/src/boot/globalEvent/event.ts @@ -5,6 +5,7 @@ import {windowKeyUp} from "./keyup"; import {windowKeyDown} from "./keydown"; import {globalClick} from "./click"; import {goBack, goForward} from "../../util/backForward"; +import {Constants} from "../../constants"; export const initWindowEvent = (app: App) => { document.body.addEventListener("mouseleave", () => { @@ -14,9 +15,18 @@ export const initWindowEvent = (app: App) => { window.siyuan.layout.bottomDock.hideDock(); } }); + let mouseIsEnter = false; + document.body.addEventListener("mouseenter", () => { + if (window.siyuan.layout.leftDock) { + mouseIsEnter = true; + setTimeout(() => { + mouseIsEnter = false; + }, Constants.TIMEOUT_TRANSITION); + } + }); window.addEventListener("mousemove", (event: MouseEvent & { target: HTMLElement }) => { - windowMouseMove(event); + windowMouseMove(event, mouseIsEnter); }); window.addEventListener("mouseup", (event) => { @@ -46,6 +56,6 @@ export const initWindowEvent = (app: App) => { }); window.addEventListener("click", (event: MouseEvent & { target: HTMLElement }) => { - globalClick(event); + globalClick(event); }); }; diff --git a/app/src/boot/globalEvent/mousemove.ts b/app/src/boot/globalEvent/mousemove.ts index e18dc63c8..0630129dc 100644 --- a/app/src/boot/globalEvent/mousemove.ts +++ b/app/src/boot/globalEvent/mousemove.ts @@ -14,7 +14,11 @@ const getRightBlock = (element: HTMLElement, x: number, y: number) => { return nodeElement; }; -export const windowMouseMove = (event: MouseEvent & { target: HTMLElement }) => { +export const windowMouseMove = (event: MouseEvent & { target: HTMLElement }, mouseIsEnter:boolean) => { + if (document.body.classList.contains("body--blur")) { + // 非激活状态下不执行 https://ld246.com/article/1693474547631 + return; + } // https://github.com/siyuan-note/siyuan/pull/8793 const coordinates = window.siyuan.coordinates ?? (window.siyuan.coordinates = { pageX: 0, @@ -40,7 +44,8 @@ export const windowMouseMove = (event: MouseEvent & { target: HTMLElement }) => item.editor.protyle.breadcrumb.render(item.editor.protyle, true); }); } - if (event.buttons === 0 && // 鼠标按键被按下时不触发 + if (!mouseIsEnter && + event.buttons === 0 && // 鼠标按键被按下时不触发 window.siyuan.layout.bottomDock && !isWindow() && !hasClosestByClassName(event.target, "b3-dialog") && !hasClosestByClassName(event.target, "b3-menu")) { if (event.clientX < 43) {