0

使用最新的 HighStock/HighCharts,我们使用以下语法创建图表:

$('#container').highcharts({...

然后,我们允许用户对显示的图表系列进行一些操作。我们为用户添加了将图表重置为原始状态的功能。我们正在使用这种方法:

function forceResetChart(chart) {
    var opts = chart.options;
    chart.destroy();
    chart = new Highcharts.Chart(opts);
}

这确实会重置图表,我们可以再次进行更改。但是,我们不断在控制台中抛出错误:

类型错误:a.renderTo 未定义 @ .../JavaScript/HighStock/highstock.js:198

我们如何仍然使用更简洁的语法 ( $('#container').highcharts({...) 而不会引发此错误?

示例 jsFiddle

4

1 回答 1

2

选项 1) 只要确保您仍然在图表属性中指定“renderTo:'container'”。或者,如果您不想包含在初始图表代码中,请将其添加到 forceReset 函数中的选项中。

选项 2) 在您的 forceReset 函数中,使用相同的 '$('#container').Highcharts...' 语法来调用您的图表,而不是切换回其他语法

example of option 2: 

http://jsfiddle.net/5pa7N/8/

{{编辑选项3:

  • 预先设置选项变量。
  • 使用该变量在页面加载时调用图表。
  • 使用该变量重新加载图表

http://jsfiddle.net/eYmh9/

于 2013-09-10T16:04:35.950 回答