Highstock:对象#<object>的属性'firePointEvent'不是函数</object>

时间:2013-05-15 08:34:53

标签: javascript highstock

当点击系列时,我得到下一个错误:未捕获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方法,但其所有属性都为null。所以它抛出错误:/

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

我可以重现这个问题。您可以在this fiddle中看到它。

  1. 点击图表背景(删除该行)
  2. 然后点击该系列(该行返回并触发错误)
  3. 我找到了解决方法,你必须设置一点暂停,这样点击事件和更新过程就不会在同一个调用中发生。

    我想update()会更改 hoverPoint 对象,导致 firePointEvent 属性在进程结束时为null

    此解决方法:(in JSFiddle here

    plotOptions: {
            series: {
                events: {
                    click: function(event) {
                        var that = this;
                        setTimeout( function(){
                            that.update({
                                lineWidth: 1,
                            });
                        }, 20);
    
                    }
                }
            }
    },