对于包含 d3-drag 拖动功能的 d3 force 布局,似乎每个拖动事件调用的函数都修改d.fx/ d.fy,例如:
function dragged(d) {
d.fx = d3.event.x;
d.fy = d3.event.y;
}
Run Code Online (Sandbox Code Playgroud)
拖动开始事件通常基于d.fx/d.fy在d.x/d.y而结束事件设置d.fx/d.fy到null。
d.fx/d.fy来自哪里以及为什么它会用于被拖动的元素?这是否以某种方式内置于 d3 或 d3-force 中?它在哪里分配给被拖动的元素?