D3 DataMaps:在泡泡属性中传递的泡泡上的OnClick事件

时间:2016-01-23 00:29:19

标签: javascript d3.js datamaps

我使用带有气泡的D3和DataMaps。我想在有人点击气泡时添加自定义操作。这些操作需要传递气泡的属性,如气泡的名称。

如何将气泡的名称传递给该气泡的点击事件?

map.svg.selectAll('.bubbles').on('click', function(bubble) {
    console.log(bubble.name);
});

此代码段不起作用。我收到以下错误消息:

Uncaught TypeError: Cannot read property 'name' of undefined

我在文档中跟踪了传递地理属性的similar example

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

我还阅读了this very similar question,它没有回答关于传递气泡属性的问题。

1 个答案:

答案 0 :(得分:2)

而不是这个

map.svg.selectAll('.bubbles').on('click', function(bubble) {
    console.log(bubble.name);
});

尝试:

d3.selectAll(".datamaps-bubble").on('click', function(bubble) {
    console.log(bubble);
});
希望这有效!