Javascript 通过单击更改节点的颜色
如何更改节点的颜色?如果单击以前为蓝色的节点,它应该会改变颜色,例如变为紫色。但是,如果我现在单击另一个节点,该节点应变为紫色,先前单击的节点应变为旧颜色(即再次变为蓝色)。我该怎么做Javascript 通过单击更改节点的颜色,javascript,d3.js,Javascript,D3.js,如何更改节点的颜色?如果单击以前为蓝色的节点,它应该会改变颜色,例如变为紫色。但是,如果我现在单击另一个节点,该节点应变为紫色,先前单击的节点应变为旧颜色(即再次变为蓝色)。我该怎么做 const color = d3.scaleLinear().domain([0, 1]).range(["#03fc90", "#03dbfc"]); var node = svg.append("g") .attr("class&quo
const color = d3.scaleLinear().domain([0, 1]).range(["#03fc90", "#03dbfc"]);
var node = svg.append("g")
.attr("class", "nodes")
.selectAll("circle")
.data(dataset.nodes)
.enter()
.append("circle")
.attr("r", 5)
.style("fill", function(d,i) {
return color(i);})
.on("click", (evt, currentNode) => {
d3.select(this).
.style.color=’purple’
});
fill
样式const节点=[
{id:1,x:50,y:50},
{id:2,x:50,y:100},
{id:3,x:100,y:75},
];
const svg=d3.select('svg');
svg.selectAll('circle.node'))
.data(节点,d=>d.id)
.输入()
.append('圆')
.classed('node',true)
.attr('cx',d=>d.x)
.attr('cy',d=>d.y)
.attr('r',20)
.style('填充','蓝色')
.style('光标','指针')
.on('click',onclick节点);
函数onclick节点(e,d){
svg.selectAll('.node.selected')
.classed('selected',false)
.样式(“填充”、“蓝色”);
d3.选择(本)
.classed('selected',true)
.样式(“填充”、“紫色”);
}
使用我创建的方法,节点无法更改其颜色。但我刚把它弄出来。非常感谢。