18

是否可以在 Highcharts 中检测缩放事件?我的用例是我在图表外部有一些状态,当用户放大它的一部分时,我想检测 x 轴上的新时间范围是什么并更新相应的外部状态。

4

3 回答 3

42

你试过通过Highcharts API吗?

你可能想看看 @ xAxis.events.setExtremes 和/或 chart.events.selection

于 2012-09-07T19:10:11.120 回答
0

您还想查看重绘事件。缩放时,图表会重新绘制以反映更改。chart.events.redraw

events: {
    redraw: function(){
        console.log(this.xAxis);
        console.log(this.yAxis);
    }
}
于 2014-09-05T09:17:53.367 回答
0

我找到了一种使用重绘全局事件的方法:

{
  redraw: function(event) {
    if (
      (event ? .target ? .axes[0] && event ? .target ? .axes[0].max !== event ? .target ? .axes[0].oldMax) || 
      (event ? .target ? .axes[1] && event ? .target ? .axes[1].max !== event ? .target ? .axes[1].oldMax)) {
        // Here you can be sure the this is closer to a zoom event... almost, because it also detect drag on the map :(
      }
  }
}

我只是想把它留在这里,因为我决定使用其他东西,但我未来的自己可能需要它:D

于 2020-12-19T02:38:01.307 回答