我正在尝试向我正在处理的 D3 项目中的画笔 handle 添加一些自定义元素 — the desired final result is here — 我一直被 D3 V4 从 <g>
的举动所困扰画笔 handle 元素 <rect>
元素。 V4 文档说您可以使用 .handle--*
添加、删除或修改画笔 handle 。类,但我无法让它发挥作用。例如,当我调用:
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.selection
上brush
。我希望能够使用<g>
s 作为句柄,这种方法使它们没有点击处理程序,但如果这是规范的正确答案,我会继续这样做。
最佳答案
是的,您应该使用画笔事件独立地添加和定位 handle 。
关于javascript - 在 D3 V4 中添加自定义画笔 handle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38833274/