Мне нужно изменить событие click на элементах легенды высоких карт. Демо-версия Highcharts http://www.highcharts.com/demo/line-basic. Например, я хочу, чтобы первое действие было каким-то предупреждением, а второе действие будет действовать по умолчанию (чистая линия Токио из графика). Благодарю. Извините, если вопрос не чист.
Как изменить событие клика элемента списка легенд?
Ответ 1
Вы должны использовать обратный вызов legendItemClick
как следующий код
plotOptions: {
line: {
events: {
legendItemClick: function () {
alert('I am an alert');
//return false;
// <== returning false will cancel the default action
}
}
,
showInLegend: true
}
}
Вот рабочая скрипка, которая показывает предупреждение, когда вы нажимаете на легенды, например, на Токио, а затем прячете линию Токио.
См. также документацию plotOptions для данного события. Если вам нужно разместить это, это может различаться в зависимости от того, какой тип диаграммы вы используете.
Ответ 2
Для меня событие legendItemClick должно было быть для серии, а не для строки. Например:.
plotOptions: {
series: {
events: {
legendItemClick: function(event) {
var visibility = this.visible ? 'visible' : 'hidden';
if (!confirm('The series is currently '+
visibility +'. Do you want to change that?')) {
return false;
}
}
}
}
},
Пример из Highcharts: http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/plotoptions/series-events-legenditemclick/