Javascript d3单击时选择全部不起作用

Javascript d3单击时选择全部不起作用,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,在下面的代码中,我绘制了一个折线图并添加了过滤器 根据条件,仅为特定坐标绘制圆 我想做的是,如果用户点击这些圆圈,他们应该能够看到带有数据坐标的警报消息 我添加了onclick函数,但没有调用它 变量宽度=900,高度=500; nv.addGraph(函数(){ var chart=nv.models.lineChart() .宽度(宽度) .高度(高度) .保证金({ 左:75, 右:50 }); chart.xAxis.axisLabel('Time(ms)' .tickFormat(

在下面的代码中,我绘制了一个折线图并添加了过滤器 根据条件,仅为特定坐标绘制圆

我想做的是,如果用户点击这些圆圈,他们应该能够看到带有数据坐标的警报消息

我添加了onclick函数,但没有调用它


变量宽度=900,高度=500;
nv.addGraph(函数(){
var chart=nv.models.lineChart()
.宽度(宽度)
.高度(高度)
.保证金({
左:75,
右:50
});
chart.xAxis.axisLabel('Time(ms)'
.tickFormat(d3.format(',r'));
图表yAxis.axisLabel('Voltate(vt)'
.tickFormat(d3.format('.2f'));
var sampleSVG=d3.select(“#chart svg”);
样本VG
.datum(myData())
.transition().attr('width',width).attr('height',height).持续时间(500)
.电话(图表)
.每个(“结束”,函数(){
var data=myData();
d3.选择(“.nv组”)。选择全部(“圆圈”)
.data(数据[0].values.filter(函数(d){return d.y>3000;}))
.enter().append(“圆”)
.style(“笔划”、“灰色”)
.style(“填充”、“蓝色”)
.attr(“r”,5)
.attr(“cx”,函数(d){return chart.xAxis.scale()(d.x);})
.attr(“cy”,函数(d){return chart.yAxis.scale()(d.y);})
//.on(“click”,函数(d){alert('on click调用'.+chart.lines.x());});
});  
},函数(){
var svg_circles=d3。选择全部(“圆”);
//警报(“在函数中”+svg_圆圈);
svg_圆。在('单击'),
函数(){
警报(“在时钟上呼叫”);
控制台日志(“测试”);
});
});
函数myData(){
返回数据=[{
“价值观”:[{
“x”:0,
“y”:3235,
“isAlert”:“1”,
“警报信息”:“为该交易生成的警报”
}, {
“x”:173,
“y”:2114
}, {
“x”:347,
“y”:1724
}, {
“x”:526,
“y”:2703
}, {
“x”:700,
“y”:2980
}, {
“x”:931,
“y”:3086
}, {
“x”:1058,
“y”:2881
}, {
“x”:1220,
“y”:2817
}, {
“x”:1399,
“y”:2242
}, {
“x”:1584,
“y”:2639
}, {
“x”:1752年,
“y”:3122
}, {
“x”:1983年,
“y”:3157
}, {
“x”:2105,
“y”:3391
}, {
“x”:2284,
“y”:3441
}, {
“x”:2469,
“y”:3356
}, {
“x”:2637,
“y”:3498
}, {
“x”:2811,
“y”:3753
}, {
“x”:3042,
“y”:3384
}, {
“x”:3169,
“y”:3399
}, {
“x”:3331,
“y”:3399
}, {
“x”:3522,
“y”:2164
}, {
“x”:3690,
“y”:2129
}, {
“x”:3863,
“y”:2200
}, {
“x”:4095,
“y”:2292
}],
“键”:“股票数据”,
“颜色”:空
}]}

问题似乎是您的圆圈不在SVG的前面。一种快速的解决方法是在
each()
函数中将圆圈附加到NVD3的交互层,并从
addGraph()
中删除回调

但是,这会部分阻止鼠标悬停/工具提示事件到NVD3的点(在
#nv point clips
下)


编辑:这里有一把小提琴:。这是使用NVD3当前的主版本,因此它可能无法与较新的/开发版本一起使用。

尝试了这种方法,但不起作用,如果有,请发布任何示例。
var svg = d3.select(this);
svg.select('.nv-interactive').selectAll("circle")