我有这个原始问题HighCharts: How to use reflow to allow auto-resize after changing size
我得到的答案是以下代码块:
if (!vs.chartObject.reflowNow) {
vs.chartObject.reflowNow = vs.chartObject.reflowNow = function() {
this.containerHeight = this.options.chart.height || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height');
this.containerWidth = this.options.chart.width || window.window.HighchartsAdapter.adapterRun(this.renderTo, 'width');
if (vs.expandedType === 'max') {
this.setSize(this.containerWidth, (this.containerHeight-220), true);
} else {
this.setSize(this.containerWidth, this.containerHeight, true);
}
this.hasUserSize = null;
}
}
vs.chartObject.reflowNow();
但是现在由于某些原因我得到了undefined
:window.window.HighchartsAdapter
现在打破了我的图表扩展代码。
当我控制登录的window.window并展开它时,我可以看到不再有HighchartsAdapter
。
你们中的任何人都知道哪种方法现在替换HighchartsAdapter
?
答案 0 :(得分:3)
自4.2.1 HighchartsAdapter
从核心中删除。这意味着Highcharts lib不再依赖于jQuery或任何其他库。
在旧版本的源代码中,您可以找到该方法:
adapterRun: function (elem, method) {
return $(elem)[method]();
},
这意味着,如果您使用的是jQuery,则可以替换:
window.window.HighchartsAdapter.adapterRun(this.renderTo, 'height')
使用:
$(this.renderTo).height();
说实话,你总是可以使用这个解决方案 - 它比使用adapterRun()
更具可读性。