小编Tom*_*oth的帖子

拖放圈子中的d3.event.active目的

我大致熟悉d3中拖动的工作方式.但是我最近发现了一些让我感到困惑的事情.

通过代码创建af orce有向图我无法按照代码来处理拖动周围的节点:

function dragstarted(d) {
  if (!d3.event.active) simulation.alphaTarget(0.3).restart();
  d.fx = d.x;
  d.fy = d.y;
}

function dragged(d) {
  d.fx = d3.event.x;
  d.fy = d3.event.y;
}

function dragended(d) {
  if (!d3.event.active) simulation.alphaTarget(0);
  d.fx = null;
  d.fy = null;
}
Run Code Online (Sandbox Code Playgroud)

知道我们为什么要在这里用dragstarted和dragended检查if语句吗?

我尝试删除if条件并没有真正看到与力导向图有太大差别.也就是说,而不是

if (!d3.event.active) simulation.alphaTarget(0.3).restart(); 
Run Code Online (Sandbox Code Playgroud)

我放

simulation.alphaTarget(0.3).restart();
Run Code Online (Sandbox Code Playgroud)

并没有看到太大的差异.

d3.js

3
推荐指数
2
解决办法
1122
查看次数

标签 统计

d3.js ×1