【问题标题】:Add event to Series.Toggle in Rickshaw在 Rickshaw 中将事件添加到 Series.Toggle
【发布时间】:2014-02-18 19:38:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript jquery d3.js rickshaw


    【解决方案1】:

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

    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();
           };
        } );
      };
      ...
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多