我有一个(相当简单)的问题:如何对由D3.js所做的选择“un-call”force.drag?比方说,我创建了一组元素并在其上调用“调用”,为它提供了强制定向布局的拖动回调。看起来像这样:D3.js:从选择中删除force.drag
d3.selectAll('rect').call(force.drag);
现在应该可以从稍后的一些节点中删除该行为。我的方法包括重置各种听众,如“点击”,“拖动”等。使用
d3.select('rect#no-drag').on('click', null);
他们都没有工作。有谁知道如何删除回调?
完美解决它,我只是试了一下,它的工作原理:) 在D3.js中默认命名空间是事件吗? – user654123
是的。此外,如果您添加自己的事件侦听器,则可以对它们进行命名空间。它们可以使用多个监听器来监听同一个事件。 – nautat
好吧,我已经熟悉jQuery插件开发中的命名空间事件。似乎D3.js让你只为每个有资格的事件注册一个回调,因此它对命名空间是有意义的。再次感谢。 – user654123