【发布时间】:2018-04-24 06:02:00
【问题描述】:
我一直在尝试使用 d3 库通过使用 transform translate 来拖放 dvg 元素。我可以拖动一个元素,但拖动时它会闪烁。
到目前为止,我一直在从下面的链接中搜索并进行反复试验,但这对我没有帮助。
"Stuttering" drag when using d3.behavior.drag() and transform
D3.js: Dragging everything in group ('g') by element contained in the group using origin() function
How to drag an svg group using d3.js drag behavior?
对于最后一个链接,我想我无法理解导致此问题的此要求的 svg 结构的必要性。有人可以帮我吗?
【问题讨论】:
-
我不熟悉 d3 库,但我注意到您拖动的函数参数有时会收到 undefined 作为参数,这会导致它闪烁。您可以首先检查 .on("drag", dragged) 是否从正确的位置调用,并将正确的参数数据传递给回调。
-
但是,我是 D3 的新手,对此我不确定,但该参数尚未在函数中使用。我尝试将其删除,但没有成功
-
我已经发布了这个问题的原因和解决方案here。
-
@roland:出于我的好奇,如果不将任何内容附加到拖动对象或仅更改我的 svg 的结构,难道不可能吗?这个要求的原因是我正在处理大型 svg,如果可能的话,我不想从 javascript 添加任何内容
-
@DipeshRaichana:你尝试过第二种方法吗?
标签: javascript d3.js svg drag-and-drop