即时更改拖动区

change dragzone on the fly

Interact.js图书馆。

我有多个元素,每个元素都有自己的可交互实例。 如何在拖动时在实例之间切换? 因此将继续拖动另一个元素。

任务听起来很奇怪,但它很简单 - 我为小屏幕制作了一个选择器 - 当用户点击一个元素并且 "start draggging",它停留在原地,但 Y 轴用于 "roller" 改变当前选择,X 轴(当 delta 很大时)将开始真正的拖动。但是有了新元素,之前没有人点击过。

我只需要在从 "roller" 阶段切换到 "real drag" 阶段期间更改拖动源。

类似

event.interaction.stop();
event.interaction.start({ name: 'drag' }, anotherInteractable, anotherElement);

不工作。

感谢任何想法。

p.s。我可以为每个应用程序制作单个可交互实例来处理所有可拖动元素,但问题几乎保持不变 - 即时更改交互元素。

看来我必须做一个没有交互的 "roller" 阶段。 仅具有控制按钮按下状态的 onmove 侦听器。

当用户在做出选择后开始 "drag" 阶段时, 真正的交互将从已经定义的对象开始。