Javascript 在D3中,如何为当前特定路径启用鼠标悬停事件?

Javascript 在D3中,如何为当前特定路径启用鼠标悬停事件?,javascript,d3.js,Javascript,D3.js,我正在使用d3.js创建一个世界地图。在该地图中,我需要为每个国家绑定mouseover事件 例如:如果我将鼠标移到印度上,我只需要更改印度的填充(背景)颜色 我实现了mouseover事件。但我的问题是,每当我mouseover覆盖整个国家(印度)时,该功能会影响所有国家。我的意思是填充颜色会影响所有国家。但它只需要影响当前国家 我也试过使用这个,但运气不好 .on("mouseover", function(){d3.select(this).style("fill", "aliceblue

我正在使用
d3.js
创建一个世界地图。在该地图中,我需要为每个国家绑定
mouseover
事件

例如:如果我将鼠标移到印度上,我只需要更改印度的填充(背景)颜色

我实现了
mouseover
事件。但我的问题是,每当我
mouseover
覆盖整个国家(印度)时,该功能会影响所有国家。我的意思是填充颜色会影响所有国家。但它只需要影响当前国家

我也试过使用
这个
,但运气不好

.on("mouseover", function(){d3.select(this).style("fill", "aliceblue");})
请帮助任何人解决我的问题

我的完整代码 鼠标悬停前

鼠标悬停后

此代码:

 svg                            
  .datum(topojson.feature(world, world.objects.countries))
  .append("path")
...
表示-->我有一条数据,请从中绘制路径

将其更改为:

svg.selectAll(".countries")
  .data(topojson.feature(world, world.objects.countries).features)
  .enter()
  .append("path")
  ...
这表示-->我有多个数据(功能),将数据绑定到我的选择(selectAll),并为每个组件绘制路径


示例。

您正在为所有国家/地区创建一条路径,因此您试图用当前代码执行的操作是不可能的。你必须以每个国家都是独立路径的方式创建地图。好的@Lars kotthoff谢谢你的回答。我是d3新手。你能给我一个开始吗。我的意思是,如何为每个国家创建一条单独的路径?请参阅Thank@Lars kotthoff
svg.selectAll(".countries")
  .data(topojson.feature(world, world.objects.countries).features)
  .enter()
  .append("path")
  ...