Highcharts - 手动触发悬停事件上的点(Highcharts - manually tr

2019-06-25 18:12发布

当你将鼠标悬停在一个Highcharts图表中的一个点,你会得到你的光标(或其他符号)下一个很好的放大的圆圈。 我想这样做手工触发悬停效果。

我知道我可以手动触发点的鼠标悬停事件,但并没有给我,我会在图表上显示放大的象征。

Answer 1:

我找到了答案通过查看源 - 叫“的setState(‘悬停’);” 上要突出一点。



Answer 2:

我想补充的一个重要信息:

对于StockChart此解决方案不起作用:

在这个例子中 ,你必须替换此:

chart.tooltip.refresh(chart.series[0].data[i]);

为此:

chart.tooltip.refresh([chart.series[0].points[i]]);

一个可能的解决方案可在这里 。



Answer 3:

下面是如何选择(悬停)系列中的最后一个有效点编程的一个例子:

  // Find last not-null point in data
  let last = data.indexOf(null) - 1;
  last = (last === -2) ? data.length - 1 : last;
  const lastPoint = this.series[0].points[last];

  // Trigger the hover event 
  lastPoint.setState('hover');
  lastPoint.state = '';  // You need this to fix hover bug
  this.tooltip.refresh(lastPoint); // Show tooltip

全部的jsfiddle exapmle



Answer 4:

为了让更直接的答案(如,那么你没有访问highcharts实例):

你需要创建一个鼠标悬停事件,并给它适当的pageX属性,你触发它之前pageY属性。



文章来源: Highcharts - manually trigger hover event on a point