图表加载后运行的Highcharts插件/扩展

时间:2018-06-01 19:04:56

标签: javascript events highcharts

我试图将目前位于events.load内的部分自定义Highcharts代码移动到Highcharts extension,以便它更加模块化和干净。

这是我现在所拥有的Fiddle

从代码中可以看出,通过调用chart.events.load,我在图表完全呈现时更改了一些值标签属性。

因此,根据我的理解,使用H.wrap将允许我覆盖现有的原型函数,并让我在它之前或之后添加代码。

这就是我有点困惑的地方:

  1. 我应该在现有原型中执行我的价值标签隐藏程序吗?

  2. 如何将chart.events.load代码转换为在加载图表后调用(也)的扩展名?

  3. 我想我可以使用

    H.wrap(H.Chart.prototype, 'onload', function (p) { ... }
    

    但我不完全确定

2 个答案:

答案 0 :(得分:1)

除非必须,否则我不会使用wrapp,例如当我需要控制何时调用包装函数时。

其他方式:

  1. 将函数添加为Chart.prototype

    的回调函数
    Highcharts.Chart.prototype.callbacks.push(function (chart) {
      console.log('callback')
    })
    
  2. 添加图表load事件

    Highcharts.addEvent(Highcharts.Chart, 'load', function () {
      console.log('load event')
    })
    
  3. 直播示例:enter image description here

答案 1 :(得分:0)

以下内容:

H.wrap(H.Chart.prototype, 'onload', function (p) { ... }

charts.events.load

相同