Chart.js图表 onclick禁用图例onclick

问题描述 投票:2回答:1

我刚刚在条形图中添加了一个图表onclick功能,这允许我根据点击的栏进行操作 - 效果很好 - 但是(你知道有一个但是)它会禁用正常的图例onclick functionailty。我怎样才能同时具有onclick功能?

我猜这可能是从图表onclick函数调用图例onclick回调函数,但细节超出了我目前的知识。

我得到了这个,但不确定调用默认处理程序的参数应该是什么。

var defaultLegendClickHandler = Chart.defaults.global.legend.onClick;

function YrChartClick(event, YCarray)
  {
    if (typeof YCarray[0] === "undefined")  //click not on a bar, might be legend
    defaultLegendClickHandler(event, 1);  // parameters?? correct function?
else
{
//clicked on a bar - this works
    $('#month').val(YCarray[0]._index+1);  
    MonChange();
}
}

使用最新版本的chart.js 2.7.1

javascript chart.js chart.js2
1个回答
0
投票

试试这样:

var legendClick = Chart.defaults.global.legend.onClick;
Chart.defaults.global.legend.onClick = function(e, legendItem) {
    console.log(legendItem);
    legendClick.call(this, e, legendItem);
};

legendItem包含单击的条的索引。

legendClick.call(this,e,legendItem)执行默认的单击处理程序。

© www.soinside.com 2019 - 2024. All rights reserved.