Highcharts-更新系列会导致与工具提示相关的错误(mouseOver)

Highcharts - updating series leads to tooltip-related error (mouseOver)

本文关键字:错误 mouseOver 工具提示 系列 更新 Highcharts-      更新时间:2023-09-26

从这个简单的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;