Как добавить прослушиватель событий к объекту Highcharts * ПОСЛЕ * Я его создал

Я пытаюсь добавить прослушиватель событий к объекту highcharts после его создания. Я могу добавить его во время объявления. Когда я пытаюсь использовать консоль хром, чтобы разобраться, где было прикреплять объявление postener сообщения, я не могу.

Ответ 1

Если вы хотите добавить прослушиватель событий после того, как график уже создан, документация дает некоторое представление о расширении диаграмм:

События могут быть добавлены в экземпляр через привязку фреймворка. Если ваша инфраструктура jQuery, вы можете, например, запустить $(chart).bind('load', someFunction);

Есть даже некоторые упоминания в разделе "Подключиться к Chart.init" (на той же странице) о том, как вы могли привязать событие после рендеринга диаграммы, но это более инвазивное решение. Я адаптировал образец кода ниже с некоторыми изменениями:

// General, global event listener
var globalCallback = function (chart) {

    // Specific event listener
    Highcharts.addEvent(chart.container, 'click', function (e) {
        e = chart.pointer.normalize();
        console.log('Clicked chart at ' + e.chartX + ', ' + e.chartY );
    ​});

    // Specific event listener
    Highcharts.addEvent(chart.xAxis[0], 'afterSetExtremes', function (e) {
        console.log('Set extremes to ' + e.min + ', ' + e.max);
    });
}

// Add `globalCallback` to the list of highcharts callbacks
Highcharts.Chart.prototype.callbacks.push(globalCallback);

Вы также можете посмотреть пример JSFiddle для этого сценария.