【发布时间】:2012-06-27 15:38:09
【问题描述】:
我有一个 D3 力有向图,它首先显示有几个节点。每个节点都有一个单击处理程序,它将进一步扩展图形并动态添加更多节点和链接到单击的节点。每个节点也有一个 SVG 矩形形状。因为新链接和节点被添加到现有图形中,所以链接出现在单击节点的顶部,因为 SVG 是“画家”模型。所以我使用 d3.selectAll().filter().sort() 以正确的顺序放置 DOM 节点。除了节点和链接在有向图上放错位置外,这是可行的。有什么方法可以使用 sort() 同时保持 force.nodes() 和 force.links() 数据同步?
更新:我创建了一个 jsfiddle 来演示这种情况。单击几下创建新节点后,链接变得不稳定。如果对“reorder_nodes_and_links()”的调用被注释掉,图表是稳定的,但由于 DOM 顺序,链接会呈现在节点之上。
【问题讨论】:
标签: javascript dom d3.js