2016-08-12 60 views
0

我將如何得到的,比方說,一個alert("Don't touch me!")當我按下面搗鼓了「2Week」按鈕執行:https://jsfiddle.net/610335vt/Highstock觸發JavaScript的時候範圍選擇按鈕點擊

+0

也許這篇文章可以能幫你。 http://stackoverflow.com/questions/15846859/which-rangeselector-button-is-selected-in-highcharts – LorenzoBerti

+0

但是,我會如何使該事件的基礎? –

+0

我不知道庫,所以我做了一個研究,我發現這個小提琴http://jsfiddle.net/donli/747U5/和 http://jsfiddle.net/donli/W5gYy/ 在官方論壇。 http://forum.highcharts.com/highstock-usage/highstock-range-selector-click-event-t20632/ 嘗試在這個論壇主題搜索 – LorenzoBerti

回答

1

可以趕上setExtremes事件,請檢查e.rangeSelectorButton.text並找到當前按鈕。然後調用自定義操作。

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

例子:

0

編輯 在小提琴,我發現,有這樣一個原型。

$(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/我沒有在我的本地測試發現,但你可以在撥弄示例代碼嘗試

+0

嗯......我似乎無法得到它的工作。沒有什麼關於在API文檔中點擊它的價值... http://api.highcharts.com/highstock#rangeSelector.enabled –

+0

是的,我看到,事實上在提琴,我建議你有原型,對不起我的答案不完整。我編輯。 – LorenzoBerti

+0

謝謝,我可以看到它在示例中工作,但我不確定哪個部分是相關的。 –