EDIT:
Я сделал jsfiddle для переключения CSS ваших элементов легенды.
Вы можете установить класс для своей легенды на клик, как это,
events: {
legendItemClick: function(event) {
//console.log(event);
if(this.visible)
event.target.legendItem.element.firstChild.className = 'span-legend-item-inactive';
else
event.target.legendItem.element.firstChild.className = 'span-legend-active';
}
}
Здесь this.visible
- это логическая переменная, заданная Hightcharts, для обозначения, является ли легенда видимой или нет. Проверьте эту ссылку jsfiddle с сайта highcharts.
Если он виден во время onclick
, вы можете назначить свой класс .span-legend-item-inactive
, чтобы отключить его. Точно так же, если он не виден во время onclick
, вы можете назначить .span-legend-active
, чтобы он выглядел включенным. Вы можете дать разделенные пробелами имена классов, если вы хотите назначить более одного класса или использовать event.target.legendItem.element.firstChild.classList
Кроме того, Highcharts передает объекту этих событий функции event
. Вы можете утешить его и проверить методы или переменные, которые вы можете использовать для своих целей.
Кроме того, this.color
даст цвет строки текущей серии. Таким образом, вы можете использовать это для установки цвета вашей легенды или цвета рамки в labelFormatter
с чем-то вроде этого,
return `<span class="span-legend-active" style="border-color:${this.color}">${this.name}</span>`
Ссылка на jsfiddle .
Старый ответ:
labelFormatter () не предоставляет никаких аргументов для функции, поэтому clickCounter не определен.
Так что не передавайте clickCounter в функцию labelFormatter, это будет происходить из глобальной области видимости.
legend: {
useHTML: true,
labelFormatter: function () {}
}