我正在使用d3中的散点图,图中的每个点代表一张纸。
图表上的所有点都是蓝色,但点击后我希望所选纸张改变颜色,例如(黄色)。但是当点击另一个点时,我希望第一个点返回蓝色,新选择的点变为黄色。我怎么做到这一点?我有一个名为clickHandler的函数,当在click属性上创建圆圈时调用该函数。
以下是类似的问题d3 javascript alternate colors on click
但是,在第二次点击该圆圈时,我不想将圆圈转回原始颜色,而是希望它再次点击另一个圆圈。
以下代码来自上面链接的问题,我想知道我是否会走上正确的轨道,认为这是我应该遵循的方法,我想要的是什么?:
function clickHandler (d, i) {
var toggleColor = (function() {
var currentColor = "blue";
return function() {
currentColor = currentColor == "blue" ? "yellow" : "blue";
d3.select(this).style("fill", currentColor)
.style("stroke", "black");
}
})
}
非常感谢任何帮助!提前谢谢!
答案 0 :(得分:1)
这可以很简单:
var events = require('events');
var eventEmitter = new events.EventEmitter();
module.exports = eventEmitter;