【发布时间】:2018-05-30 23:11:52
【问题描述】:
我正在尝试让 chart.js 中的 onclick 函数工作,并发现 getElementsAtEvent(event) 函数应该返回一个数组,其中包含我单击的图表部分的数据,但它会不断返回一个空数组。
这是我的代码:
var canvas = this.el; //this is an elementref
canvas.onclick = (event) => {
var data = this.chart.getElementsAtEvent(event)
console.log(data);
}
this.chart = new Chart('canvas', {
type: 'bar',
data: {
labels: ["Browser", "Game", "Word Processing", "Database", "Spreadsheet", "Multimedia"],
datasets: [{
label: 'number of applications related to',
data: [24, 10, 30, 20, 46, 78],
backgroundColor: 'rgba(54, 162, 235, 0.2',
borderColor: 'rgba(54, 162, 235, 1)',
pointHoverBackgroundColor: 'red',
borderWidth: 1
}]
},
options: {
title: {
text: "Application Logs",
display: true
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
})
不确定这是否是它不起作用的部分原因,但这是我的画布:
<canvas id="canvas" width="300" height="123" class="chartjs-render-monitor"></canvas>
就像我提到的,它只是在控制台中打印出一个空数组 [],而使用 console.log(data[0]) 显然只是返回未定义。
【问题讨论】:
-
检查我的答案应该可以解决您的问题。
-
我添加了演示链接