作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 D3 api,它显示了节点之间的某种关系。我想在这里应用 force.drag() 事件,我将把节点拖到一个位置并离开节点,它会留在那里。我有一个在这里工作 fiddle ,它显示了节点之间的关系。任何人都可以从这里帮助我在这个 api 中做这个事件吗? ..
这是 fiddle
var node = vis
.selectAll("g.node")
.data(data.nodes)
.enter()
.append("svg:g")
.attr("class", "node")
.call(force.drag);
我觉得这里应该改一下
最佳答案
解决方案涉及在 dragstart 上将“固定”节点属性设置为 true。
var drag = force.drag()
.on("dragstart", dragstart);
var node = vis.selectAll("g.node").data(data.nodes).enter().append(
"svg:g").attr("class", "node").call(drag);
function dragstart(d) {
d.fixed = true;
}
参见此处:Sticky Force Layout
更新 fiddle :http://jsfiddle.net/vuCAx/1/
文档:force.drag()
If you want dragged nodes to remain fixed after dragging, set the fixed attribute to true on dragstart, as in the sticky force layout example.
关于javascript - 如何在 D3 中添加强制拖动事件并使节点停留在我离开的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20585962/
我是一名优秀的程序员,十分优秀!