D3多个拖动处理程序



是否可能在力图中有多个具有.call(drag)的元素?

在我的例子中我有<circle/>s和<rect/>s。<circle/>s是我的力模拟的一部分,<rect/>s不是。我希望能够同时拖动它们,当然是使用单独的拖动处理程序。<circle/>是可拖动的,但<rect/>不是。根据一些例子,我发现拖动事件似乎完全有可能不是力模拟的一部分。但我没有证据表明他们在一起工作。

相关小提琴:

圆形节点是可拖拽的,但图左上角的正方形不能拖拽。如何使它们都可拖动?我不希望正方形作为模拟的一部分,因为我不希望施加在它们上的力。

https://jsfiddle.net/jrymer/ftv94rzk/53/

似乎即使simulation不使用data,我仍然需要尊重simulation的内部计时器,并使用它的tick函数在我拖动时重新定位。我已经更新了原来的小提琴,以反映这一点。我添加的矩形不会影响节点的强制方向,但仍然可以拖动,这是我的目标。

最新更新