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

时间:2015-01-18 23:27:42

标签: d3.js

使用画笔时,画笔会选择相邻的div作为svg投影。

请参阅以下内容以查看效果。

enter image description here

在库的pre-d3.3版本中不会发生这种情况。

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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();