我试图让 d3 在单击它们时更改绘图点的颜色,但目前似乎无法使其正常工作。下面的注释行确实将颜色从白色更改为洋红色,但 toggleColor 函数似乎没有做任何事情。实际上,警报仅在第一次运行时发生,而不是在单击某个点时发生。我在这里做错了什么?
var circle = graph.selectAll("circle.value")
.data(数据)
.enter().append("圆")
.attr("类", "值")
.attr("cx", function(d) { return x(d.hour); })
.attr("cy", function(d) { return y(d.value); })
.attr("r", 5)
//.on("click", function(){d3.select(this).attr("class", "flagged");});
.on("点击", toggleColor);
var toggleColor = (function(){
// 发出警报以获得良好的度量。. .
alert("点击了?")
var currentColor = "白色";
返回函数(){
currentColor = currentColor == "白色" ? “洋红色”:“白色”;
d3.select(this).atrr("class", "flaged");
}
})();