D3.js:连接选择?

时间:2013-10-15 13:23:06

标签: d3.js

D3中有没有办法连接选择?

使用案例:我想将鼠标悬停事件添加到两者更新,并输入特定选择的选择。

我可以这样做:

var s = d3.selectAll('.yellow').data(myData);
s.on('mouseover'...
s.enter().append('path').attr('class','yellow').on('mouseover'... 

但我更喜欢用一行代码来做。

1 个答案:

答案 0 :(得分:7)

在这种特殊情况下,您不需要连接 - 输入选择在调用后合并到更新选择中,因此您需要做的就是在更新选择之前处理.enter()

一般来说,你不能真正地连接选择,但实际上这并不是必需的。您可以修改选择条件以选择所需的所有元素,或者,如果不可能,则使用.call()在所有选定元素上运行函数。这样您就不需要重复代码来设置属性等。