2016-08-08 33 views
1

我正在尝试在我正在处理的D3项目中为画笔的手柄添加一些自定义元素 - 并且我一直受到D3 V4从<g>画笔手柄元素到<rect>元素的移动的阻碍。 V4文档说,您可以使用.handle--*类来添加,删除或修改画笔手柄,但我无法使其工作。例如,当我调用:在D3 V4中添加自定义画笔手柄?

const brushContainer = d3.select('#brushContainer'); 
brushContainer.call(d3.brushX()); 
brushContainer.selectAll('.handle').remove(); 
brushContainer.append('rect') 
    .attr('class', 'handle handle--w'); 

我得到以下错误:

TypeError: undefined is not an object (evaluating 'd.type') 

注意,我不一定会想到上面的代码工作,但我一直没能找到任何工作示例或文档或来源中的任何线索。

编辑:我不得不追加所需<g>分别独立,然后改变自己的x属性d3.event.selectionbrush的想法。我希望能够使用<g>作为句柄,并且这种方法让他们不用点击处理程序,但是如果这是典型的正确答案,我会继续并做到这一点。

回答