我在每个xAxis标签上都有以下内容。
$.each(chartC.xAxis[0].ticks, function(i, tick) {
tick.label.on('click', function() {
var drilldown = chartC.series[0].data[i].drilldown;
});
});
它给出了错误:
未捕获的TypeError:无法读取属性' on'未定义的
为什么这会给出错误?请任何帮助
答案 0 :(得分:1)
如果您的图表的x轴使用的类别会添加一个带有索引-1
的额外刻度,则“填入”类别(刻度显示在类别的两侧,而不是直接位于上方)。这个JSFiddle说明了您的错误。
这个额外的刻度可能会导致此问题,因为它没有标签。在任何情况下,检查此-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;
});
}
});