创建 dbl点击选择以及放大 D3.js气泡



从 d3.js 气泡示例中,我添加了缩放 + 平移函数。现在我想允许用户在台式机和触摸屏上选择一个气泡。dblclick和touchstart似乎对此是一致的。

我知道 d3 提供了一种从 .zoom 取消事件的方法,但随后它被禁用并且不执行任何操作。

.call(d3.behavior.zoom().on("zoom", zoom)).on("dblclick", null);

链接: http://bl.ocks.org/4163494

我上面的东西有点有效,但你会注意到 dblclick 一开始不会缩放,但如果你引起另一个缩放事件,它会显示出来。我正在寻找正确的方法来做到这一点。

为了修复我离开了

.on("zoom", redraw)

函数所在的位置,但将 dblclick 向下移动到圆圈、文本和 tspan 元素。从那里,他们调用一个函数,该函数首先停止传播,然后选择圆圈。

http://jsfiddle.net/nnzS9/

最新更新