我已经用 jqPlot 隔离了一个最终情况,导致它“崩溃”(无限期地停止)我的整个页面的 javascript。当我使用 DateAxisRenderer 时会发生这种情况在具有单个值的折线图中,如下所示:
(function() {
$(function() {
var data, now, plot1;
now = new Date;
// single data point in the series:
data = [[now, 1]];
return plot1 = $.jqplot("plotTarget", [data], {
axes: {
xaxis: {
// if I remove this renderer, the "crash" does not happen:
renderer: $.jqplot.DateAxisRenderer
}
}
});
});
}).call(this);
为什么会发生这种情况?这是 jqPlot 中的错误还是我做错了什么?
还注意到:如果我将更多具有相同日期的值添加到系列中,则会出现相同的问题。如果我添加更多具有不同日期的值,问题就会消失。
我正在使用 jQuery v1.6.4、jqPlot v1.0.0b2_r1012 并在 Firefox 8.0.1 上进行渲染。
最佳答案
瞥见 DateAxisRenderer 的代码显示该插件尝试计算最小值和最大值来确定刻度。这仅表明作者暗示一个序列至少由两个数据点组成。这在文档中没有说明,也没有在代码中检查,这就是插件“崩溃”的原因。
在 jqplot Bugtracking 列表中 bug已提交(4 天前,2012 年 1 月 21 日)。
关于jquery - 为什么 jqPlot 的 DateAxisRenderer 在显示单个数据点时会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588510/