可以看出in this simple 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
答案 0 :(得分:2)
问题在于,当您使用mouseOver事件时,您会多次捕获此事件,因此系列更新也会多次调用。你应该考虑另一个像click这样的事件,这个事件将被调用一次。
答案 1 :(得分:0)
您可以先将enableMouseTracking
选项设置为false
,以消除错误:
chart.options.plotOptions.pie.enableMouseTracking = false;