Highcharts:在legendItemClick之后获得系列的可见性

dan*_*son 6 javascript highcharts

我有一个包含多个系列的图表,如果已经通过单击图例禁用了两个系列,我想修改它们的选项.

以下内容不起作用,因为visible单击它之前的状态值.还有另一种方法可以做我想在下面完成的事情吗?

plotOptions: {
    series: {
        events: {
            legendItemClick: function(event) {
                if(this.yAxis.series[0].visible && this.yAxis.series[1].visible) {
                    // do some action
                }
            }
        }
    }
},
Run Code Online (Sandbox Code Playgroud)

Paw*_*Fus 7

你可以让这个行为有点像你的功能:

plotOptions: {
  series: {
    events: {
      legendItemClick: function(event) {
          var series = this.yAxis.series,
              seriesLen = series.length,
              visible = this.visible ? 1 : -1; 
              // +1 when visible series, because it will be changed after that callback

          for(var i = 0; i < seriesLen; i++) {
            if(!series[i].visible) {
              visible++;
            }
          }
          if(visible >= 2){
            //do some action
          }
      }
    }
  }
},
Run Code Online (Sandbox Code Playgroud)