d3.js点击时替换颜色,点击另一个点后更改回原始颜色

时间:2016-03-14 11:38:27

标签: javascript d3.js

我正在使用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");
            }
    })
}

非常感谢任何帮助!提前谢谢!

1 个答案:

答案 0 :(得分:1)

这可以很简单:


var events = require('events');
var eventEmitter = new events.EventEmitter();

module.exports = eventEmitter;