d3.brush 正在使用径向图表选择周围的 div;只发生在 d3 3.3+

d3.brush is selecting surrounding divs with radial chart; only occurs d3 3.3+

使用画笔时,画笔 select 与 svg 投影相邻的 div。

看下图效果

这不会出现在 d3.3 之前的库版本中。

在 3.3 中,Bostock 扩展了画笔功能,这可能会导致该问题。虽然,我将旧版本的 d3.svg.brush 交换到较新的库中,但它仍然存在。

我的一些其他功能需要使用更新的库。

有什么想法吗?

如果您使用旧的圆形画笔 (cbrushes) 方法,答案是在新的 d3 svg.brush 代码中用 lines 8130 - 8138 替换您的 if(dragging) 运算符:

if (dragging) {
        origin[0] = xExtent[0] - origin[0];
        origin[1] = yExtent[0] - origin[1];
      } else if (resizing) {
        var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);
        offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];
        origin[0] = xExtent[ex];
        origin[1] = yExtent[ey];
      } else if (d3.event.altKey) center = origin.slice();