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

Highstock Trigger javascript when range selector button clicked

本文关键字:javascript 范围 选择器 按钮      更新时间:2023-09-26

当我按下'2Week'按钮时,我将如何执行alert("Don't touch me!"): https://jsfiddle.net/610335vt/

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

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

的例子:

  • https://jsfiddle.net/ze6qdc1u/

EDIT在我找到的小提琴中,有一个这样的原型。

$(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/我还没有在我的本地测试,但你可以尝试在小提琴

示例代码