Highcharts-检测何时渲染(或重绘)事件是由调整大小/回流引起的



我正在柱状图中的列上绘制一些自定义SVG元素。

如果图表因为窗口调整而重新绘制,我需要重新绘制它们,以便它们在列上保持正确的位置和大小。

我有一个chart.events.render事件处理程序,但render事件不会告诉您为什么它被重新呈现,而且我知道有时我的render事件处理程序会触发,因为我还触发了某些事情的代码重绘。

我还检查了redraw事件,它的类型始终是"redraw",无论触发重绘的是什么。

是否有任何方法可以检测何时由于调整大小/回流而发生重新绘制/重新渲染,特别是

您可以包装reflow方法,并在过程结束后调用对齐函数。

(function(H) {
H.wrap(H.Chart.prototype, 'reflow', function(proceed) {
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
console.log('after reflow');
});
})(Highcharts);

现场演示:http://jsfiddle.net/BlackLabel/kc1zdg28/

文档:https://www.highcharts.com/docs/extending-highcharts/extending-highcharts

最新更新