如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
How to add a force drag event in D3 and make the node stay where i leave it?
我有一个D3api,它显示了节点之间的一些关系。我想在这里应用force.drag()事件,我将把节点拖到一个位置,然后离开节点,它将留在那里。我在这里有一个工作小提琴,它显示了节点之间的关系。有人能帮助我在这个api中完成这个事件吗。。
这是小提琴
var node = vis
.selectAll("g.node")
.data(data.nodes)
.enter()
.append("svg:g")
.attr("class", "node")
.call(force.drag);
http://jsfiddle.net/vuCAx/
我认为应该在这里进行更改
解决方案包括在dragstart上将"fixed"节点属性设置为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;
}
参见此处:粘性力布局
更新Fiddle:http://jsfiddle.net/vuCAx/1/
文档:force.drag()
如果希望拖动后拖动的节点保持固定,请将在dragstart中将属性固定为true,如粘性力布局实例
相关文章:
- Dracula Graph js节点点击事件
- 克隆节点会重复事件
- 节点.js在一定时间后发出事件
- 查找将 onclick 事件分配给节点的代码
- 在源节点上调用 stop() 是否会触发已结束的事件
- 在带有 标记的树节点上以编程方式触发单击事件
- 检测单击子节点并发送槽事件处理程序
- 节点 js 中的请求和响应事件如何彼此不同
- 如何在节点事件上触发 JavaScript
- AlloyUI:对节点做出反应 - 在图表生成器中单击事件
- JsTree:如何在将节点从一棵树拖到第二棵树时获取事件
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- 将事件添加到涉及for()的索引中的多个子节点
- Jquery onclick事件加载XML的特定节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 其他模块中的节点事件发射器
- 节点事件发射器未给出预期结果
- Chrome浏览器事件循环与节点事件循环之间是否存在显著差异
- 如何更改子节点事件上的父节点样式属性
- 为什么我的节点事件回调显示为未定义的事件