2013-04-07 27 views
3

我建立一个D3数据映射: http://datamaps.github.io/我们如何创建一个d3数据映射的onclick事件?

当我点击一个国家,我希望边框来改变颜色。如何使用数据地图将onclick事件分配给d3路径? svg路径似乎缺少CSS ID以及任何标识挂钩。

+0

,它可能是更好的问题提交给“上单击突出显示”选项添加。已经有悬停的重点,所以你可以分叉项目,并在这里添加一个mousedown事件https://github.com/markmarkoh/datamaps/blob/master/public/js/app/views/Map.js#L88 – minikomi 2013-04-07 10:59:50

回答

2

您可以使用jQuery “来完成:功能”,并在指定( “点击”)如下:

done: function(datamap) { 
     datamap.svg.selectAll('.datamaps-subunit').on('click', function(geography) { 
      alert(geography.properties.name); 
     }); 
    } 

参考https://github.com/markmarkoh/datamaps进一步的细节。

2

您需要同时拨打done以及updateChoropleth功能。例如,把每个国家的黑,你会怎么做:如果您使用的是GitHub的项目

done: function(datamap) { 
    datamap.svg.selectAll('.datamaps-subunit').on('click', function(geography) { 
     var m = {}; 
     m[geography.id] = '#000000'; 
     datamap.updateChoropleth(m); 
    }); 
} 
相关问题