【发布时间】:2012-08-06 20:20:12
【问题描述】:
我正在尝试制作一个简单的页面,在页面加载时会有一个 Highstock 图表和两个按钮,一个用于删除图表,另一个用于重新加载它。但是,一旦单击第一个按钮以清除内部图表的容器,随后单击第二个按钮不会重新加载图表。我怎样才能重新加载它?小提琴在http://jsfiddle.net/Cupidvogel/DCkmN/
【问题讨论】:
标签: javascript jquery highcharts highstock
我正在尝试制作一个简单的页面,在页面加载时会有一个 Highstock 图表和两个按钮,一个用于删除图表,另一个用于重新加载它。但是,一旦单击第一个按钮以清除内部图表的容器,随后单击第二个按钮不会重新加载图表。我怎样才能重新加载它?小提琴在http://jsfiddle.net/Cupidvogel/DCkmN/
【问题讨论】:
标签: javascript jquery highcharts highstock
如果您进行调试,您会看到 chartingOptions 没有被清除。它的系列属性在构造函数调用后立即变为空。对我来说似乎是一个错误。或者可能是为了避免克隆系列选项中包含的大量数据,而只是使用相同的对象来绘制图表。
源码是这么写的,
userOptions.series = null;
userOptions.series 属性在被复制后被故意设置为 null 以进行构造。
/**
* The chart class
* @param {Object} options
* @param {Function} callback Function to run when the chart has loaded
*/
function Chart(userOptions, callback) {
// Handle regular options
var options,
seriesOptions = userOptions.series; // skip merging data points to increase performance
userOptions.series = null;
【讨论】: