From b73d409b1cc63bbe0995af0439f6cfbc91e9f7af Mon Sep 17 00:00:00 2001 From: sunhao Date: Fri, 18 Oct 2024 14:13:25 +0800 Subject: [PATCH] * dtable: refactor mousemove plugin. --- lib/dtable/src/plugins/mousemove/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/dtable/src/plugins/mousemove/index.ts b/lib/dtable/src/plugins/mousemove/index.ts index 9e33d2906e..5efcc7f711 100644 --- a/lib/dtable/src/plugins/mousemove/index.ts +++ b/lib/dtable/src/plugins/mousemove/index.ts @@ -36,27 +36,30 @@ const mousemovePlugin: DTablePlugin = { mousemove(event) { if (this.data.mmRafID) { cancelAnimationFrame(this.data.mmRafID); - this.data.mmRafID = 0; } this.data.mmRafID = requestAnimationFrame(() => { this.emitCustomEvent('mousemovesmooth', event); + this.data.mmRafID = 0; }); event.preventDefault(); }, document_mousemove(event) { if (this.data.dmmRafID) { cancelAnimationFrame(this.data.dmmRafID); - this.data.dmmRafID = 0; } this.data.dmmRafID = requestAnimationFrame(() => { this.emitCustomEvent('document_mousemovesmooth', event); + this.data.mmRafID = 0; }); }, }, methods: { ignoreNextClick(timeout = 10) { + if (this.data.ignoreNextClick) { + clearTimeout(this.data.ignoreNextClick); + } this.data.ignoreNextClick = window.setTimeout(() => { this.data.ignoreNextClick = undefined; }, timeout);