6

D3 中是否有连接选择的方法?

用例:我想将鼠标悬停事件添加到更新和输入特定选择的选择中。

我可以这样做:

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

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

4

1 回答 1

8

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

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

于 2013-10-15T13:55:44.563 回答