从这个简单的fiddle中可以看出,在数据点上触发mouseOver事件并通过series.update()
更新系列的属性会导致js错误:
Uncaught TypeError: Cannot read property 'tooltipOptions' of null
代码:
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
mouseOver: function () {
console.log('why does an error appear?');
this.series.update({
lineWidth: 10
});
},
mouseOut: function () {
console.log('bla');
}
}
}
}
},
我做错了什么?谢谢提供信息。
将工具提示设置为enabled: false
时,错误消息为:
Uncaught TypeError: object is not a function highcharts.js:300
r.onMouseOver highcharts.js:300
Wa.runPointActions highcharts.js:158
Wa.onContainerMouseMove highcharts.js:165
b.onmousemove highcharts.js:167
问题是,当您使用mouseOver事件时,您会多次捕获此事件,因此也会多次调用序列更新。您应该考虑另一个事件,如单击,它将被调用一次。
您可以先将enableMouseTracking
选项设置为false
以消除错误:
chart.options.plotOptions.pie.enableMouseTracking = false;