Highcharts - 检测渲染(或重绘)事件何时由 resize/reflow 引起?
Highcharts - detect when render (or redraw) event is caused by a resize/reflow?
我正在柱形图中的列上绘制一些自定义 SVG 元素。
如果图表因 window 调整大小而重绘,我需要重绘它们,以便它们在列上保持正确的位置和大小。
我有一个 chart.events.render
事件处理程序,但 render
事件没有告诉你 为什么 它会重新呈现,我知道有时我的 render
事件处理程序触发,因为我还触发了某些事情的代码重绘。
我也检查了 redraw
事件,它的类型总是 "redraw"
无论什么触发了重绘。
有什么方法可以检测 redraw/re-render 何时发生 特别是 因为 resize/reflow?
您可以包装 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
我正在柱形图中的列上绘制一些自定义 SVG 元素。
如果图表因 window 调整大小而重绘,我需要重绘它们,以便它们在列上保持正确的位置和大小。
我有一个 chart.events.render
事件处理程序,但 render
事件没有告诉你 为什么 它会重新呈现,我知道有时我的 render
事件处理程序触发,因为我还触发了某些事情的代码重绘。
我也检查了 redraw
事件,它的类型总是 "redraw"
无论什么触发了重绘。
有什么方法可以检测 redraw/re-render 何时发生 特别是 因为 resize/reflow?
您可以包装 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