From 148d4547b0ff17628b0f5a3cc2f6fb3503460a10 Mon Sep 17 00:00:00 2001 From: parisma Date: Thu, 31 Mar 2022 15:11:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dthrottle=E5=BC=95?= =?UTF-8?q?=E8=B5=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/stage/src/StageMask.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/stage/src/StageMask.ts b/packages/stage/src/StageMask.ts index 15e3bcd5..03a821ce 100644 --- a/packages/stage/src/StageMask.ts +++ b/packages/stage/src/StageMask.ts @@ -85,6 +85,13 @@ export default class StageMask extends Rule { private mode: Mode = Mode.ABSOLUTE; private pageResizeObserver: ResizeObserver | null = null; private wrapperResizeObserver: ResizeObserver | null = null; + /** + * 高亮事件处理函数 + * @param event 事件对象 + */ + private highlightHandler = throttle((event: MouseEvent): void => { + this.emit('highlight', event); + }, throttleTime); constructor(config: StageMaskConfig) { const wrapper = createWrapper(); @@ -96,7 +103,7 @@ export default class StageMask extends Rule { this.content.addEventListener('mousedown', this.mouseDownHandler); this.wrapper.appendChild(this.content); this.content.addEventListener('wheel', this.mouseWheelHandler); - this.content.addEventListener('mousemove', throttle(this.highlightHandler, throttleTime)); + this.content.addEventListener('mousemove', this.highlightHandler); } public setMode(mode: Mode) { @@ -228,7 +235,7 @@ export default class StageMask extends Rule { private mouseUpHandler = (): void => { globalThis.document.removeEventListener('mouseup', this.mouseUpHandler); - this.content.addEventListener('mousemove', throttle(this.highlightHandler, throttleTime)); + this.content.addEventListener('mousemove', this.highlightHandler); this.emit('select'); }; @@ -271,12 +278,4 @@ export default class StageMask extends Rule { this.emit('scroll', event); }; - - /** - * 高亮事件处理函数 - * @param event 事件对象 - */ - private highlightHandler = (event: MouseEvent): void => { - this.emit('highlight', event); - }; }