Highchart xAxis标签单击jquery错误

时间:2016-02-16 16:04:56

标签: javascript jquery highcharts

我在每个xAxis标签上都有以下内容。

$.each(chartC.xAxis[0].ticks, function(i, tick) {
    tick.label.on('click', function() {
        var drilldown = chartC.series[0].data[i].drilldown;

    });

});

它给出了错误:

  

未捕获的TypeError:无法读取属性' on'未定义的

为什么这会给出错误?请任何帮助

1 个答案:

答案 0 :(得分:1)

如果您的图表的x轴使用的类别会添加一个带有索引-1的额外刻度,则“填入”类别(刻度显示在类别的两侧,而不是直接位于上方)。这个JSFiddle说明了您的错误。

Example of ticks

这个额外的刻度可能会导致此问题,因为它没有标签。在任何情况下,检查此-1索引和标签的存在就足够了。

在代码中,这可能看起来像(fixed JSFiddle):

$.each(chartC.xAxis[0].ticks, function(i, tick) {
    if(tick != -1 && tick.label != null) {
        tick.label.on('click', function() {
            var drilldown = chartC.series[0].data[i].drilldown;
        });
    }
});