如果条形图很小,则在Chart.js中的条形图上调用onClick函数可能非常困难。这是一个示例:
灰色列很容易单击。但是,单击的栏越小,越难。
这是我传递的用于绑定onClick函数的配置数据:
options: {
responsive: true,
legend: {
position: 'right',
onClick: function (event, elem) {
graph_click("graph_name", event,elem)
},
}
onClick: function (event, elem) {
graph_click("graph_name", event);
}
这是graph_click
函数
//canvases[graph] resolves to a Chart object
function graph_click(graph, event,elem) {
var activePoints = canvases[graph].getElementsAtEvent(event);
直接在栏上单击时,getElementsAtEvent
返回一个对象。但是,在栏外单击时,它将返回null。由于它没有找到要从中提取数据的列。有替代的方法吗?
还有奖励问题。似乎图例和列都不能同时使用onClick
。看起来如果您同时拥有两者,则只会执行外部onClick
。