D3.js:在不同的图表中触发事件

时间:2015-10-20 23:52:26

标签: javascript jquery events d3.js

我有两张相同的图表。它们的图形构建如下:

circles.enter().append("circle")
  .attr("r", 0)
  .attr("fill", function(d) { return fill_color; })
  .attr("class", function(d) { return "circle_" + d.id; })
  .on("mouseover", function(d, i) { build_tooltip(d, i, this); })
  .on("mouseout", function(d, i) { hide_tooltip(d, i, this); });

mouseover上,它会触发以下功能:

build_tooltip = function(data, i, element) {
  var content = "Title: " + data.title;
  show_tooltip(content, d3.event);
}

我的问题是:如何将其设置为图表#1中的圆圈,在图表#2中触发相同的鼠标悬停事件,但是每个图表都有唯一的数据?图表#2必须生成自己的一组数据(在本例中,只是一个标题)。那么,当图表#1出现时,我怎样才能使图表#2的鼠标悬停事件发生?

在jQuery中,这很简单 - 有一个文字.trigger()事件。但是我如何才能与D3完成同样的工作呢?

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用D3' dispatch?如果没有,请查看this example以了解有关如何使用它的更多详细信息。