使d3.js中的固定节点不固定

时间:2013-12-16 23:02:31

标签: d3.js force-layout

如何使具有fixed:true的d3.js强制布局节点变为不固定?

如果我将它们设置为d.fixed = false,则不起作用。

我的代码与http://bl.ocks.org/norrs/2883411类似。 因此它在拖动时设置d.fixed = true。

将d.fixed评估为布尔值似乎也不起作用。

但我希望能够解除节点的修复。

拖动或通过其他功能。

我试着这个:

if (d.fixed==false) {
        d.fixed=true;
        d3.select(this).classed("fixed", true);
}
else
{
        d.fixed = false;
        d3.select(this).classed("fixed", false);
}

可以在这个小提琴上看到糟糕的结果:http://jsfiddle.net/2u5KB/2/

谢谢, 加雷。

1 个答案:

答案 0 :(得分:1)

好的,我解决了我的问题。

我正在检查并更改 dragstart 方法中的d.fixed。

将代码移至 dragend 方法解决了问题。

我想dragstart有一些我预期的不同行为