Подтвердить что ты не робот

Как изменить событие клика элемента списка легенд?

Мне нужно изменить событие click на элементах легенды высоких карт. Демо-версия Highcharts http://www.highcharts.com/demo/line-basic. Например, я хочу, чтобы первое действие было каким-то предупреждением, а второе действие будет действовать по умолчанию (чистая линия Токио из графика). Благодарю. Извините, если вопрос не чист.

4b9b3361

Ответ 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/