2017-02-06 2 views
4

В таблице с высоким рейтингом есть событие для нажатия на панель. Но бар мал по высоте, на него невозможно щелкнуть. Поэтому я хочу, чтобы событие в высоком графике для дальнейшей обработки.В верхней диаграмме, как добавить событие для метки нажмите

E.g. Я хочу, чтобы событие для названия месяца в следующем примере. enter image description here

Спасибо заранее.

ответ

2

Если вы не хотите использовать JQuery вы можете использовать его следующим образом

chart.xAxis[0].labelGroup.element.childNodes.forEach(function(label) 
{ 
    label.style.cursor = "pointer"; 
    label.onclick = function(){ 
     alert('You clicked on '+this.textContent); 
    } 
}); 

полный код на http://jsfiddle.net/t07ok5v3/5/

+0

Thnx большой наконечник и помощь. Как вы узнали об этом методе? Вы проверяли элементы highchart и пытались? Потому что я не мог найти связанный документ об этой метке и настройке событий галочки из своих документов API. –

+0

Возврат thnx снова. –

+0

Да; Надеюсь, они не сломают его в будущих выпусках. –

0

Я получаю Ошибка: Объект не поддерживает свойство или метод «Foreach», когда запуск решения от Malay Sarkar в Internet Explorer. Вот обходной путь, который я использовал, который работает как в Chrome, так и в IE.

for (let i = 0; chart.xAxis[0].labelGroup.element.childNodes.length; i++) 
{ 
    chart.xAxis[0].labelGroup.element.childNodes[i].onclick = function(){ 
     alert('You clicked on '+this.textContent); 
    } 
}); 
0

Альтернативное решение, поддерживается с Highcharts v3 является использование Custom Events плагина. Плагин добавляет много нового события, изначально не поддерживаемого Highcharts.

Демо: https://jsfiddle.net/BlackLabel/Utx8g/963/

События добавляются так же, как официальные мероприятия в Highcharts, и нам не нужно повторно проверять каждый релиз в DOM:

xAxis: { 
    labels: { 
    events: { 
     click: function() { ... } 
    } 
    } 
} 
Смежные вопросы