3

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

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

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

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

Uncaught TypeError: Cannot read property 'name' of undefined

我正在按照文档中的一个类似示例来传递地理属性:

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

我也读过这个非常相似的问题,它没有回答我关于传递气泡属性的问题。

4

1 回答 1

2

而不是这个

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

尝试:

d3.selectAll(".datamaps-bubble").on('click', function(bubble) {
    console.log(bubble);
});

希望这有效!

于 2016-01-23T02:08:10.270 回答