Я пытаюсь добавить прослушиватель событий к объекту highcharts после его создания. Я могу добавить его во время объявления. Когда я пытаюсь использовать консоль хром, чтобы разобраться, где было прикреплять объявление postener сообщения, я не могу.
Как добавить прослушиватель событий к объекту Highcharts * ПОСЛЕ * Я его создал
Ответ 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 для этого сценария.