我正在开发可折叠树形图(http://bl.ocks.org/mbostock/4339083)。 我会改变与点击节点相关的标签颜色。 我修改了代码
// Toggle children on click.
function click(d) {
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
}
update(d);
}
宽度
// Toggle children on click.
function click(d) {
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
}
d3.select(this).select("text")
.style("fill", "red")
update(d);
}
但我不知道如何记住之前点击的节点,将其标签恢复为黑色。
现在,如果我点击一个节点,标签文字会变成红色,所以其他任何一个点击。我希望红色只有最后一个。可以有人帮我做吗?
答案 0 :(得分:0)
一个简单的解决方案是着色所有文本,然后着色所单击节点的文本:
d3.selectAll("text")
.style("fill", "black");
d3.select(this).select("text")
.style("fill", "red");