我这样创建图表:
= line_chart @parameter.grouped_data(@period, {date: @date}), suffix: ' ' + (@parameter.parameter_type.unit || ''), discrete: true, id: "param-chart"`
,并使用以下代码在创建后将onClick事件挂钩到图表:
if ($('#param-chart').length > 0) {
chart = Chartkick.charts['param-chart'];
document.getElementById('param-chart').onclick = function(evt) {
var activePoint;
activePoint = chart.getChartObject().getElementAtEvent(evt);
if (activePoint.length) {
return console.log(activePoint);
}
};
}
我也尝试过:
chart.chart.getElementAtEvent(evt);
但是我总是返回一个空数组。
在执行chartjs代码时,我在此行上看到:
module.exports = {
// Helper function for different modes
modes: {
single: function(chart, e) {
var position = getRelativePosition(e, chart);
位置X和Y均为NaN。是否可能由于某种原因坐标没有正确转换?