d3:响应一个事件的多个任务

时间:2016-03-12 19:15:05

标签: javascript d3.js svg

在鼠标悬停时,我喜欢我用来改变颜色的路径,以及要显示的工具提示。我可以让他们每个人单独回答,但不能让他们同时回应。这是我的尝试:

train.append("path")
        .attr("d", function(d) { return line(d.coordinates); }) // d.coordinates is a list of coordinates
        .style("stroke-width", 1)
        .style("stroke", "black")
        .style("fill", "none")
        .on("mouseover", function () {
                d3.select(this)
                  .style("stroke", "red");

                tip.show;
            })
        .on("mouseout", function () {
                d3.select(this)
                        .style("stroke", "black");
                tip.hide;

            });

建议非常感谢!

1 个答案:

答案 0 :(得分:1)

您必须致电 tip.show/tip.hide。确保从d回调中传递数据(i)和索引(.on)。

.on("mouseover", function (d,i) {
  d3.select(this)
    .style("stroke", "red");
  tip.show(d, i); //<-- the parenthesis are calling the function
})
.on("mouseout", function () {
  d3.select(this)
    .style("stroke", "black");
  tip.hide(d, i);
});