问题描述
我想控制c3.js图上的右键单击事件。
我找到了解决方法Right mouse click detection on SVG shape in JavaScript not working,
但我无法获取数据和索引参数。
有什么解决办法吗?
我使用的库如下。
c3.js v0.7.18
d3.js v5.16.0
我也使用firebase js插件。
onrendered: function () {
d3.select("#chart1")
.selectAll(".c3-event-rect")
.on("contextmenu",function (d,i) {
console.log(d); //argument d is always undefined.
console.log(i); //argument i is always 0.
d3.event.preventDefault(); // prevent default menu
var vals = Chart1.data().map(function (series) {
var name = series.id;
return { name: name };
//value: Chart1.data.values(name)[d.x]}; // d.x is the index
});
alert ("data: "+JSON.stringify(vals));
})
解决方法
是的,这是您引用的我的解决方案,但不幸的是,看起来他们已经更新了c3,所以现在每个图表(而不是每个x轴点)只有一个.c3-event-rect,因此没有d和i信息
您最好的希望是向c3 github存储库添加功能请求,以请求特定的右键单击侦听器