我使用带有气泡的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,它没有回答关于传递气泡属性的问题。
答案 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);
});
希望这有效!