2014-01-09 86 views
1

我在页面上有许多nvd3图表,并且我在图表的id属性(基本上是我用来填充数据的一个rowkey)中存储了一些有用的信息。从nvd3获取图表信息

我想要做的是当用户点击图上的一个点时获取额外的数据。

问题是,在页面上有许多图形,当用户点击(我已经注册了lines.dispatch.on('elementClick')),我需要以某种方式知道我在哪个图表上,所以我拥有我需要进行后续查询的信息。

当用户点击一个点时,是否有一些方法可以获取包含图表信息?或者知道图表的ID?

回答

0

如果您的网页上有jquery,那么你可以使用jquery.closest寻找父chart元素,并提取其ID:

.on('elementClick', function (d, i) { 
    var chartId = $(this).closest('svg').attr('id'); 
    // ... 
}); 
+1

虽然这并没有让我有100%它没有让我上正确的轨道。我选择了这样做:var self = this; var cb = function(e){...}; chart.lines.dispatch.on('elementClick',cb.bind(self));所以现在我可以访问nvd3回调中的父对象。 – nathasm