2013-08-23 3 views
0

Кто-нибудь знает, как динамически добавлять или удалять кнопку «экспорта» в высоких диаграммах?Динамически добавлять и удалять пользовательскую кнопку экспорта в highcharts

Я был в состоянии успешно добавить кнопку с помощью кода, подобной этой:

exporting: { 
     buttons: { 
      customButton: { 
       text: 'Custom Button', 
       onclick: function() { 
        alert('You pressed the button!'); 
       } 
      } 
     } 
    } 

Но я хотел бы, чтобы иметь возможность добавить кнопку на графику позже через события JavaScript (а затем удалите его вскоре после).

+1

Вы можете нажать и функцию добавления по визуализатора http://stackoverflow.com/questions/15472330/highcharts-replace-custom-button-image-on-hover –

ответ

6

Используя направление, предоставленное Себастьяном, я смог полностью решить эту проблему.

Документация для добавления кнопок с помощью визуализатора можно найти здесь (нет данных находится в Highcharts официального апи, к сожалению): http://forum.highcharts.com/viewtopic.php?f=9&t=15416

Вот важная часть:

/** 
* Create a button with preset states 
* @param {String} text 
* @param {Number} x 
* @param {Number} y 
* @param {Function} callback 
* @param {Object} normalState 
* @param {Object} hoverState 
* @param {Object} pressedState 
*/ 
button: function (text, x, y, callback, normalState, hoverState, pressedState) {} 

Вот код, который я использовал:

hChart - это главный объект с основными характеристиками.

hChart.drillupCustomButton = hChart.renderer.button(
      'DRILL BACK UP', 
      100, 
      7, 
      function(){ 
       //run whatever code you want here for when button is clicked 
       //This next line of code is how you remove the button (I chose to remove the button when the button is clicked) 
       $(hChart.drillupCustomButton.element).remove(); 
       //You could also remove it via the id like this 
       $('#drillupCustomButtonID').remove(); 
      }, 
      null, 
      null, 
      null 
      ) 
      .attr({ 
       id: 'drillupCustomButtonID' 
      }) 
      .add(); 
Смежные вопросы