D3 数据映射:传入气泡属性的气泡上的 OnClick 事件

D3 DataMaps: OnClick Events on Bubbles Passing in Attributes of Bubble

本文关键字:气泡 属性 OnClick 事件 数据 映射 D3      更新时间:2023-09-26

我正在使用带有气泡的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);
});

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

而不是这个

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

尝试:

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

希望这有效!