1

单击人力车图例中的项目时,我想添加功能。我使用标准代码添加切换功能,我想扩展它以运行我自己的功能:

shelving = new Rickshaw.Graph.Behavior.Series.Toggle( { 
        graph: graph,
        legend: legend
}

有没有办法在这里添加我自己的功能?我还尝试查看和编辑 Rickshaw.Graph.Behavior.Series.Toggle.js 中的代码,但是在单击图例中的项目时我无法运行任何东西。(会不会是导入的js文件被缓存了,我的编辑没有生效?)

4

1 回答 1

0

当您明确询问要修改哪些源代码时,我在下面突出显示了它。如果您修改源,升级到新版本变得更加困难,扩展/创建自己的版本将是首选方式。

Rickshaw.Graph.Behavior.Series.Toggle.js 'Rickshaw.Graph.Behavior.Series.Toggle.js' 更改以下

Rickshaw.Graph.Behavior.Series.Toggle = function(args) {
  ...
  this._addBehavior = function() {
    this.graph.series.forEach( function(s) {
       s.disable = function() {
         if (self.graph.series.length <= 1) {
           throw('only one series left');
         }
         s.disabled = true;
         alert('disabling ' + s.name); //HERE
         self.graph.update();
       };

       s.enable = function() {
         s.disabled = false;
         alert('enabling ' + s.name); //HERE
         self.graph.update();
       };
    } );
  };
  ...
};
于 2014-02-21T23:54:41.737 回答