diff --git a/packages/g-mobile-canvas/CHANGELOG.md b/packages/g-mobile-canvas/CHANGELOG.md index 50aa6d383..64abc52b3 100644 --- a/packages/g-mobile-canvas/CHANGELOG.md +++ b/packages/g-mobile-canvas/CHANGELOG.md @@ -1,5 +1,12 @@ # @antv/g-mobile-canvas +## 0.11.1 + +### Patch Changes + +- Updated dependencies [baeafc86] + - @antv/g-plugin-gesture@1.1.1 + ## 0.11.0 ### Minor Changes diff --git a/packages/g-mobile-canvas/package.json b/packages/g-mobile-canvas/package.json index 8b4030292..74e6cb211 100644 --- a/packages/g-mobile-canvas/package.json +++ b/packages/g-mobile-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@antv/g-mobile-canvas", - "version": "0.11.0", + "version": "0.11.1", "description": "A renderer implemented with Canvas2D API in mobile environment", "keywords": [ "antv", diff --git a/packages/g-plugin-gesture/CHANGELOG.md b/packages/g-plugin-gesture/CHANGELOG.md index 5ed6e242f..696318fe2 100644 --- a/packages/g-plugin-gesture/CHANGELOG.md +++ b/packages/g-plugin-gesture/CHANGELOG.md @@ -1,5 +1,11 @@ # @antv/g-plugin-gesture +## 1.1.1 + +### Patch Changes + +- baeafc86: fix: move 过程中元素移除,重新获取 target + ## 1.1.0 ### Minor Changes diff --git a/packages/g-plugin-gesture/package.json b/packages/g-plugin-gesture/package.json index e55fa0b63..8de9c96f6 100644 --- a/packages/g-plugin-gesture/package.json +++ b/packages/g-plugin-gesture/package.json @@ -1,6 +1,6 @@ { "name": "@antv/g-plugin-gesture", - "version": "1.1.0", + "version": "1.1.1", "description": "A G plugin for Gesture implemented with PointerEvents", "keywords": [ "antv", diff --git a/packages/g-plugin-gesture/src/GesturePlugin.ts b/packages/g-plugin-gesture/src/GesturePlugin.ts index 6c6573375..f3ae5bdeb 100644 --- a/packages/g-plugin-gesture/src/GesturePlugin.ts +++ b/packages/g-plugin-gesture/src/GesturePlugin.ts @@ -221,11 +221,7 @@ export class GesturePlugin implements RenderingPlugin { this.emitStart(eventType, ev, target); ev.type = eventType; - if (this.movingTarget) { - this.movingTarget.dispatchEvent(ev); - } else { - target.dispatchEvent(ev); - } + this.refreshAndGetTarget(target).dispatchEvent(ev); return; } @@ -251,11 +247,7 @@ export class GesturePlugin implements RenderingPlugin { }); ev.points = points; - if (this.movingTarget) { - this.emitEnd(ev, this.movingTarget); - } else { - this.emitEnd(ev, target); - } + this.emitEnd(ev, this.refreshAndGetTarget(target)); // 单指 if (evCache.length === 1) { @@ -309,11 +301,9 @@ export class GesturePlugin implements RenderingPlugin { return { x: ev.x, y: ev.y }; }); ev.points = points; - if (this.movingTarget) { - this.emitEnd(ev, this.movingTarget); - } else { - this.emitEnd(ev, target); - } + + this.emitEnd(ev, this.refreshAndGetTarget(target)); + this.evCache = []; this.reset(); }; @@ -420,6 +410,16 @@ export class GesturePlugin implements RenderingPlugin { } } + private refreshAndGetTarget(target) { + if (this.movingTarget) { + if (this.movingTarget && !this.movingTarget.isConnected) { + this.movingTarget = target; + } + return this.movingTarget; + } + return target; + } + private reset() { this.clearPressTimeout(); this.startTime = 0;