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

Events Highcharts-检测何时渲染(或重画)事件是由调整大小/回流引起的?,events,highcharts,Events,Highcharts,我正在柱状图中的列上绘制一些自定义SVG元素 如果图表因为窗口调整而重新绘制,我需要重新绘制它们,以便它们在列上保持正确的位置和大小 我有一个chart.events.render事件处理程序,但是render事件没有告诉您它被重新渲染的原因,我知道有时候我的render事件处理程序会触发,因为我也会触发某些事情的代码重绘 我还检查了redraw事件,它的类型始终是“redraw”,无论触发重画的是什么 是否有任何方法可以检测何时由于调整大小/回流而发生重画/重新渲染?您可以包装回流方法,并在处

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

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

我有一个
chart.events.render
事件处理程序,但是
render
事件没有告诉您它被重新渲染的原因,我知道有时候我的
render
事件处理程序会触发,因为我也会触发某些事情的代码重绘

我还检查了
redraw
事件,它的类型始终是
“redraw”
,无论触发重画的是什么


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

您可以包装
回流
方法,并在处理后调用对齐函数

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

现场演示:


文档:

谢谢,这正是我需要的。当
reflow
触发时,我实际上不会重新绘制我的东西,因为从
console.log()
这似乎经常发生,但我确实使用它来设置一个标志,指示确实发生了回流,然后下一次
render
触发时,如果设置了该标志,我就会重新对齐。