2

我正在尝试让图表单击和鼠标事件在 NVD3 历史条形图上工作 - 但我没有这样做。请在此处查看 plnkr http://plnkr.co/edit/Hnyi1A?我在这里看到https://github.com/krispo/angular-nvd3/issues/36他们建议使用 interactiveLayer 属性,但是它似乎不起作用。可能是一个错误?

    chart: {
      type: 'historicalBarChart',

      //None of these events work 
      interactiveLayer: {
        dispatch: {
          chartClick: function(e) {
            console.log("! chart Click !")
          },
          elementClick: function(e) {
            console.log("! element Click !")
          },
          elementDblClick: function(e) {
            console.log("! element Double Click !")
          },
          elementMouseout: function(e) {
            console.log("! element Mouseout !")
          },
          elementMouseover: function(e) {
            console.log("! element Mouseover !")
          }
        }
      }
...
}
4

1 回答 1

1

NVD3在扩展模式下的 LiveEdit 页面提供了有关可用设置的所有文档。看起来您需要bars而不是interactiveLayer在 a 上获取 bar 事件historicalBarChart

chart: {
  type: 'historicalBarChart',      
  bars: {
    dispatch: {          
      elementClick: function(e) {
        console.log("! element Click !")
      },
      elementDblClick: function(e) {
        console.log("! element Double Click !")
      },
      elementMouseout: function(e) {
        console.log("! element Mouseout !")
      },
      elementMouseover: function(e) {
        console.log("! element Mouseover !")
      }
    }
  }

我无法让 chartClick 触发。但正如NVD3 自己的 plnkr(discreteBarChart 类型)中所注释的那样,我会怀疑那里有问题。

于 2016-06-08T16:50:17.167 回答