D3 DataMaps:在气泡上点击事件,传递气泡属性

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);
});

我还阅读了与此非常相似的问题,但没有回答我的问题,即如何传递气泡的属性。


如果您将console.log()替换为console.log(bubble);,您会得到什么? - Fawzan
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);
});

希望这个能行!


完美运行。谢谢! - sirmxanot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接