我已经得到了以下代码片段,它适用于单个选择(和取消选择)。有没有人可以帮助我扩展这段代码,以便可以进行多次选择(并在再次单击同一节点时取消选择节点)?
function click(d){
if(!selected){
selected = d3.select(this);
selected.style('stroke', 'red')
userSelect=d.user_ids;
console.log(userSelect);
createNewSVG(userSelect);
}
else if(selected[0][0] == d3.select(this)[0][0]){
selected.style('stroke', 'white');
selected = undefined;
removeSVG();
}
}
你需要像
function click(d){
d3.select(this).classed("selected", !d3.select(this).classed("selected"));
d3.selectAll("foo").style("stroke", "white");
d3.selectAll(".selected").style('stroke', 'red');
}
这将添加一个类selected
到所有选定的东西,你可以使用D3来选择和修改它们。