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();
使用画笔时,画笔 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();