2
我試圖讓d3在點擊它們時改變繪圖點的顏色,但目前似乎無法得到這個工作。下面的註釋行確實將顏色從白色更改爲洋紅色,但toggleColor函數似乎沒有任何作用。實際上,警報僅在第一次運行時發生,而不是在單擊某個點時發生。我在這裏做錯了什麼?d3 javascript點擊函數調用
var circle = graph.selectAll("circle.value") .data(data) .enter().append("circle") .attr("class", "value") .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("click", toggleColor); var toggleColor = (function(){ // throw in an alert for good measure. . . alert("Clicked?") var currentColor = "white"; return function(){ currentColor = currentColor == "white" ? "magenta" : "white"; d3.select(this).atrr("class", "flagged"); } })();