当点击范围选择器按钮时,Highstock触发javascript

时间:2016-08-12 08:18:23

标签: javascript jquery highcharts highstock

当我按下以下小提琴中的“2Week”按钮时,我怎么能得到一个alert("Don't touch me!")来执行:https://jsfiddle.net/610335vt/

2 个答案:

答案 0 :(得分:1)

您可以捕获setExtremes事件,检查e.rangeSelectorButton.text并找到当前按钮。然后调用自定义操作。

   xAxis: {
     events: {
       setExtremes: function(e) {
        if (e.rangeSelectorButton.text === "2Weeks") {
           alert('a');
         }
       }
     }
   },

示例:

答案 1 :(得分:-1)

修改 在我发现的小提琴中,有一个这样的原型。

$(function () {
            //buttons
            (function (H) {
                //rangeSelector buttons
                var A = H.Chart;
                var options = H.getOptions();
                p = H.extend;
                k = H.merge;
                p(A.prototype, {
                    bindEvents: function (b, c) {
                        if (c.click) {
                            b.on("click", c.click);
                        }
                    }
                });
                //rangeSelector events
                A.prototype.callbacks.push(function (b) {
                    //                 
                    var c = b.rangeSelector.buttons, d = b.options.rangeSelector;
                    if (c && d) {
                        for (var i = 0; i < c.length; i++) {
                            b.bindEvents(c[i], d);
                        }
                    }
                });
            })(Highcharts);

尝试使用此

rangeSelector: {
                click: function () {
                    alert("test");
                },
                buttons: [{
                    type: 'year',
                    count: 5,
                    text: '5y',
                    click: function () {
                        alert("test");
                    }
                }
}

我发现这个小提琴http://jsfiddle.net/stepday/LSdrX/我还没有在我的本地测试过,但你可以尝试用小提琴中的示例代码