HIghcharts,在 Point.select 事件中选择第二个点

HIghcharts, Selecting a second Point within the Point.select event

本文关键字:选择 第二个 事件 select Point HIghcharts      更新时间:2023-09-26
$(function () {
  var chart = {
    plotOptions: {
      series: {
        point: {
          'events' : {
            select: function(){
              var pId = this.series.data.indexOf(this);
              var chart1 = $('#container').highcharts();
              var chart2 = $('#container2').highcharts();

        //These are the extra selects I want to happen
        //chart1.series[0].data[5].select(true,true);
        //chart2.series[0].data[pId].select();
            }
          }
        }
      }
    },
    series: [{
      data: [29.9, 71.5, 106.4,
             129.2, 144.0, 176.0,
             135.6, 148.5, 216.4,
             194.1, 95.6, 54.4]
    }] 
  };
  $('#container').highcharts(chart);
  $('#container2').highcharts(chart);
  var chart = $('#container').highcharts();
  i = 0;
  $('#button').click(function() {
    if (i == chart.series[0].data.length) 
    i = 0; 
    chart.series[0].data[i].select();
    i++;
  });

});

http://jsfiddle.net/rphne/

http://jsfiddle.net/rphne/5/

你可以看到我在那里想要实现的目标。本质上,我想选择同一图形上的一个点,以及在选择事件发生后第二个图形上的一个点。

在上面的示例中,它应该选择图表 1 和图表 2 上的相同点,以及图表 1 选择自身的第二个点。

我想只是做一个.Select(true,true( 会累积,但是在 select 事件中完成此操作时会失败。我相信我正在寻找一个回调事件之类的东西,以便在选择成功完成后,我可以做额外的选择。

有什么建议吗?

在按钮操作中,您只能从一个图表中选择一个点,因为在第一个对象中使用 use chart.series[0].data[i].select();。您只需要为第二个图表添加相同的操作。

http://jsfiddle.net/rphne/1/

编辑:您还可以使用 setState(( 函数来同步两个图表。http://jsfiddle.net/rphne/6/