gpt4 book ai didi

javascript - Highcharts:无法读取未定义的属性 'chart'

转载 作者:行者123 更新时间:2023-11-30 00:21:29 25 4
gpt4 key购买 nike

所以我构建了这个图表并且它可以正常工作,除了它不断抛出错误无法读取未定义的属性“图表”。我正在重新加载窗口调整大小的图表,以便 html 标签重新加载到正确的位置。

这是一个双圆环图,根据所选切片显示/隐藏内容。

如有任何帮助,我们将不胜感激。

最佳答案

首先,您在 createChart 函数中定义了 var chart 变量,因此它始终是未定义的 - 只使用一个定义(最上面的那个),稍后只需将图表分配给该变量。无论如何,我看到两个解决方案:

  • resize 事件中使用 setTimeout(),延迟渲染图表。不是一个可靠的解决方案,因为用户可以调整浏览器的宽度,并且某些东西可能会再次损坏

  • 包装initReflow方法来检查图表是否存在,像这样:

    (function(H, HA) {
    H.wrap(H.Chart.prototype.initReflow = function () {
    var chart = this,
    reflow = function (e) {
    if(chart && chart.options) {
    chart.reflow(e);
    }
    };


    HA.addEvent(window, 'resize', reflow);
    HA.addEvent(chart, 'destroy', function () {
    HA.removeEvent(window, 'resize', reflow);
    });
    });
    })(Highcharts, HighchartsAdapter)

工作演示:https://jsfiddle.net/dpsn9gx8/7/

编辑:由于 Highcharts 4.1.10 Highcharts 适配器是内置的,所以删除它并使用 Highcharts:https://jsfiddle.net/dpsn9gx8/11/

关于javascript - Highcharts:无法读取未定义的属性 'chart',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com