6

我正在使用 highcharts 并想在单击重置缩放按钮事件中插入一些逻辑,但我没有找到一个很好的方法。在 StackOverflow 中搜索,发现最佳答案是:

event.srcElement.firstChild.data == "Reset zoom"

但是这种方式有一个问题,即当我们单击“重置缩放”按钮的一角时不会触发事件。只有当我们单击文本“重置缩放”的 tSpan 时,这种方式才会起作用。想问问有没有其他解决办法。

4

2 回答 2

11

只需使用setExtremes事件,请参阅:http: //jsfiddle.net/BlackLabel/pjy9682s/3/

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        zoomType: 'x'
    },
    xAxis: {
        events: {
            setExtremes: function (e) {
                if(typeof e.min == 'undefined' && typeof e.max == 'undefined'){
                     console.log('reset zoom clicked');   
                } else {
                     console.log('zoom-in');   
                }
            }
        }
    },
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0]
    }]
});
于 2013-10-21T10:41:58.497 回答
7

Highcharts 提供了一个名为 selection 的事件

chart:{
  events: {
    selection: function() { /* your code here */ }
  }
}

这个小提琴会帮助你http://jsfiddle.net/M7cfm/

于 2013-10-19T10:05:01.370 回答