我正在努力创建一个具有强制布局的无向图。另外,我尝试通过点击事件来改变每个圆圈(节点)的颜色。有什么想法可以在圆形元素上添加这样的事件。我输入了这段代码,但它不起作用。
vis.selectAll("circle.node").on("click", function(d){
vis.select(d).attr(r, 25)
.style("fill","lightcoral")
.style("stroke","red");
});
我正在努力创建一个具有强制布局的无向图。另外,我尝试通过点击事件来改变每个圆圈(节点)的颜色。有什么想法可以在圆形元素上添加这样的事件。我输入了这段代码,但它不起作用。
vis.selectAll("circle.node").on("click", function(d){
vis.select(d).attr(r, 25)
.style("fill","lightcoral")
.style("stroke","red");
});
select(d)
引用数据,而不是元素。你需要select(this)
vis.selectAll("circle.node").on("click", function(){
d3.select(this).attr('r', 25)
.style("fill","lightcoral")
.style("stroke","red");
});
vis.select(this)
给了我一个 DOM 异常。d3.select(this)
为我工作。您还可以使用d3.event.target
访问被单击的 DOM 元素。