2017-09-01 93 views
0

我想單擊鼠標單擊類別中的所有點。 例如,我有兩個系列,當我點擊其中一個系列中的一個,索引= 3時,也應該選擇第二個系列中的點。這是我的解決方案:Highcharts點選擇問題

var selecting = false; 
var chart = Highcharts.chart('container', { 
     chart : { 
     type:'column' 
    }, 
    plotOptions: { 
     series: { 
      allowPointSelect : true, 
      point: { 
      events: { 
       select: function (e) { 
        if (selecting) return; 
        selecting = true; 
        for (var i = 0; i < chart.series.length; i ++) { 
         chart.series[i].points[e.target.index].select(true,true); 
        } 
        selecting = false; 
       }, 
      } 
      } 
     } 
    }, 
    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] 
    },{ 
     data: [129.9, 21.5, 126.4, 29.2, 44.0, 76.0, 235.6, 48.5, 116.4, 94.1, 25.6, 154.4] 
    }] 
}); 

http://jsfiddle.net/sfq7y8m9/1/ 它時,我保持控制按鈕纔有效。

如何在沒有按住控制按鈕的情況下獲得相同的解決方案。只有鼠標點擊?

非常感謝您的回答。

回答

0

,因爲調用內部point.events.select原因Maximum call stack size exceeded錯誤(無限循環)Point.select()功能,您可以使用Point.setState()功能和手動設置selected屬性。看看下面的例子。

API參考:
http://api.highcharts.com/highcharts/Point.select

例子:
http://jsfiddle.net/vk25qLy5/

+0

謝謝! =) 我只是忘記e.preventDefault) 不幸的是,我沒有足夠的業力,爲您的答案投票( –