从Highstock的RangeSelector获取当前选择的范围

Gui*_* S. 2 javascript charts highcharts highstock

我正在使用highcharts和highstock并且有一些图表使用rangeSelector.

一切正常,但我想获取当前选定的范围(当用户点击其中一个rangeSelector按钮时),这样我就可以将它存储在一个cookie中,以便下次默认显示我想要显示的范围.

到目前为止,我已经尝试了各种各样的东西,比如添加一个chart.events.redraw测试来尝试捕获chart.rangeSelector.buttons对象,但它似乎并没有包含任何有趣的东西.

对我来说,理想情况是rangeselector.buttons上的事件回调,带有一个简单的getter函数,比如chart.rangeSelector.buttons[x].setState()命名为chart.rangeSelector.buttons[x].getState()

我很惊讶这不存在......我必须遗漏一些东西.有人可以提供帮助吗?

Gui*_* S. 5

来自jsfiddle.net/E6GHC/1的jsfiddle似乎部分地回答了这个问题(虽然我仍然感到惊讶,因为没有事件回调)

xaxis上的setExtremes事件完成了这项工作:

 xAxis: {
        events: {
            setExtremes: function(e) {
                console.log(this);
                if(typeof(e.rangeSelectorButton)!== 'undefined')
                {
                  alert('count: '+e.rangeSelectorButton.count + 'text: ' +e.rangeSelectorButton.text + ' type:' + e.rangeSelectorButton.type);
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)