2016-08-12 2 views
0

Как бы я, скажем, alert("Don't touch me!") выполнить при нажатии на кнопке «2Week» в следующей скрипке: https://jsfiddle.net/610335vt/Highstock Trigger Javascript при нажатии кнопки выбора диапазона щелкнула

+0

Может быть, это сообщение может helpyou. 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

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); 

Использование Try это

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

я нашел в этой скрипке http://jsfiddle.net/stepday/LSdrX/ я не испытанной в моем местном, но вы можете попробовать пример код в скрипке

+0

hmmm ... Кажется, я не могу заставить ее работать. Нет ничего о щелчке в документации по API, для чего это стоит ... http://api.highcharts.com/highstock#rangeSelector.enabled –

+0

Да, я вижу, infact in fiddle, который я предложил вам, прототип, извините, мой ответ неполный. Я редактирую. – LorenzoBerti

+0

Спасибо, я вижу, что он работает в этом примере, но я не уверен, какая часть релевантна. –