D3.js选择新的JSON,丢失图像顺序和鼠标悬停

时间:2015-06-29 17:19:23

标签: d3.js

我使用SELECT下拉框为强制网络图选择新的JSON数据源。第一个图形正确绘制:节点在边缘上绘制,鼠标悬停按预期工作。

当我选择第二个数据源时,边缘绘制在节点顶部,我丢失了鼠标悬停。如果我回到选择“A”,除了最后一个节点外,情况也一样。

显示此问题的jsfiddle在这里: http://jsfiddle.net/NovasTaylor/e6qjubaa/

强制性堆栈溢出代码包含:

 //EXIT
 edges.exit().remove();
 nodes.exit().remove(); 

我希望这是我的ENTER / UPDATE / EXIT的问题,也许是我用来退出元素的键?请参阅小提琴中的代码。

任何建议都将不胜感激。我的下一步是添加边缘标签,以便我确保获得节点和边缘并首先工作。

1 个答案:

答案 0 :(得分:1)

所以只需在组合框中添加一些行:

d3.selectAll('#familytreecontentsvg .node')
    .each(function (d) {
        d.fixed = false;
    })
    .classed("fixed", false)

我将svg对象移动到绘图中,同时只是将其初始化为空。我也为SVG本身创建了一个id。希望能帮助到你。请告诉我这是否可以解决您的麻烦。

更新了小提琴:http://jsfiddle.net/xg9fjze3/9/