D3.js:连接选择?

D3.js:连接选择?,d3.js,D3.js,D3中有没有连接选择的方法 用例:我想在更新中添加鼠标悬停事件,并输入特定选择的选项 我可以这样做: var s = d3.selectAll('.yellow').data(myData); s.on('mouseover'... s.enter().append('path').attr('class','yellow').on('mouseover'... 但是我更喜欢用一行代码 在这种特殊情况下,您不需要连接--enter选择在被调用后合并到更新选择中,因此您只需在更新选择之前处理.

D3中有没有连接选择的方法

用例:我想在更新中添加鼠标悬停事件,并输入特定选择的选项

我可以这样做:

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

但是我更喜欢用一行代码

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


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

在这种特殊情况下,您不需要连接--
enter
选择在调用后合并到
update
选择中,因此您只需处理
。enter()
更新
选择之前。我将添加它作为参考答案。如果d3中有选择连接,这将非常有用。有时,在选择和将代码移动到函数中以及在两个单独的位置调用时会涉及到复杂的逻辑,其可读性不如(选择1+选择2)。。