[英]How to add an event when clicking a bubble in bubble chart?
當我使用 javaScript 在氣泡圖 (Chart.js) 中單擊氣泡時,我試圖添加一個事件,但沒有任何效果。 我試過這種方式
$("#bubbleChart").click(function (e) {
var activePoints = myChart.getElementsAtEvent(e);
if (activePoints.length > 0) {
alert("yes");
} else {
alert("no");
}
});
我通過在選項中添加onClick: function(e)解決了這個問題,如下所示:
let labels = [];
let values = [];
let ctx = "bubble_l1_chart"
result.data.traits.forEach((a) => {
labels.push(a._id)
values.push({y:a.y, x:a.x, r: 5, z:a.z, desc: a._id})
})
bubbleChart = new Chart(ctx,{
type: 'bubble',
data: {
labels: labels,
datasets: [{
data: values
}]
},
options: {
onClick: function(e) {
var element = this.getElementAtEvent(e);
if (element.length > 0) {
var datasetLabel = this.config.data.datasets[element[0]._datasetIndex].label;
var data = this.config.data.datasets[element[0]._datasetIndex].data[element[0]._index];
//add code here to do whatever you want
console.log(data);
}
}
}
});
說明:在 new Chart() 內部創建一個函數,然后使用數據值將對象饋入。
請注意我如何在數據值中添加一個“desc”鍵,以便我可以識別被點擊的氣泡的 id。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.