d3.tip的多个鼠标悬停事件

Lea*_*ple 10 tooltip d3.js

我试图改变一个svg元素的笔划,该元素也有d3.tip调用它.

我的代码的相关部分如下所示:

    map.call(tip);

    map.on("mouseover", function(){ d3.select(this).style({stroke:"#7bd362"}); tip.show; });

    map.on("mouseout",tip.hide);
Run Code Online (Sandbox Code Playgroud)

我可以让我的代码执行一个事件:在鼠标悬停时更改其笔划,或显示工具提示.但我无法让这两个事件同时发生.

有没有人在之前有过d3技巧和之前的其他鼠标事件?

Lea*_*ple 16

我最终需要将数据对象传递给tip.show()函数.

最终代码:

map.on("mouseover", function(d){ 
  tip.show(d); 
 })
 .on("mouseout", function(d){
  tip.hide(d);          
});
Run Code Online (Sandbox Code Playgroud)

我没有尝试过,但这可能也有效:

map.on("mouseover", tip.show).on("mouseout", tip.hide);
Run Code Online (Sandbox Code Playgroud)

  • d3.tip()的最新版本自由使用了`this`,这使`.on(“ mouseover”,tip.show)`是唯一不会对我造成错误的形式。 (2认同)