Highstock: свойство 'firePointEvent' объекта #<Object> не является функцией
При нажатии на серию, я получаю следующую ошибку: Uncaught TypeError: Свойство 'firePointEvent' объекта # не является функцией.
В Highstock.js v1.3.1 (2013-04-15) по строке 9575:
// the series click event
fireEvent(hoverPoint.series, 'click', extend(e, {
point: hoverPoint
}));
Пока там, hoverPoint
существуют и имеют реальные ценности, но пока не имеют firePointEvent
метод.
// the point click event
hoverPoint.firePointEvent('click', e);
На этой следующей строке hoverPoint
все еще существуют и имеют firePointEvent
метод, но все его атрибуты нулевые. Так что выдает ошибку:/
В чем здесь проблема?
1 ответ
Я мог бы воспроизвести эту проблему. Вы можете видеть это в этой скрипке.
- нажмите на фон графика (это удалит линию)
- затем нажмите на серию (линия вернулась, и это вызовет ошибку)
Я нашел обходной путь для этого, вы должны установить небольшой тайм-аут, чтобы событие click и процесс обновления не происходили в одном вызове.
Я думаю, update()
изменяет объект hoverPoint, вызывая свойство firePointEvent null
в конце процесса.
Вот обходной путь: ( в JSFiddle здесь)
plotOptions: {
series: {
events: {
click: function(event) {
var that = this;
setTimeout( function(){
that.update({
lineWidth: 1,
});
}, 20);
}
}
}
},