You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Interact.js可拖拽元素在Chrome及安卓设备中提前终止拖拽问题

Ionic+Angular中Interact.js拖拽提前终止问题(仅Chrome/安卓出现)

我正在更新一个旧的Ionic + Angular应用,遇到了一个奇怪的问题:使用Interact.js设置为draggable的元素仅能拖拽数百毫秒,就会提前终止并触发dragend事件。仅在安卓设备测试时,以及通过ionic serve在Chrome中运行时出现,通过ionic serve在Firefox中运行则完全正常!

我已尽可能隔离问题,在我的Ionic 7 + Angular 17 + Capacitor 6应用的组件中完全使用Interact.js官方示例代码:

依赖版本(package.json)

"@interactjs/types": "^1.10.26",
"interactjs": "^1.10.26"

组件代码

import interact from 'interactjs';

...

const position = { x: 0, y: 0 }

interact('#test-draggable').draggable({
  listeners: {
    start (event) {
      console.log(event.type, event.target)
    },
    move (event) {
      position.x += event.dx
      position.y += event.dy

      event.target.style.transform =
        `translate(${position.x}px, ${position.y}px)`
    },
  }
})

但问题依旧!元素只能被拖动几像素。我现在不知道遗漏了什么,实在不想更换拖拽库重写功能,会不会和Angular变更检测有关?

提前感谢大家!保重。

内容的提问来源于stack exchange,提问作者ryanrain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:17:29