Javascript 不允许2个节点之间的链接-定向图编辑器d3.js

Javascript 不允许2个节点之间的链接-定向图编辑器d3.js,javascript,svg,d3.js,Javascript,Svg,D3.js,我在我的研究项目中使用了“定向图编辑器”(Directed Graph Editor),我对其进行了更新,现在看起来是这样的。 我的问题是,我怎么能不允许在两个蓝色圆圈之间绘制链接(例如,我不想让d3在“星巴克”和“人类栖息地”之间绘制链接)。我正在考虑实现一些比较“拖动到自身”线上的2个节点的功能,就像在Directed Graph Editor中所做的那样,但没有想到解决方案 下面是代码片段,其中添加了一个新节点,并检查了“拖动到自身”条件: enter code here // se

我在我的研究项目中使用了“定向图编辑器”(Directed Graph Editor),我对其进行了更新,现在看起来是这样的。 我的问题是,我怎么能不允许在两个蓝色圆圈之间绘制链接(例如,我不想让d3在“星巴克”和“人类栖息地”之间绘制链接)。我正在考虑实现一些比较“拖动到自身”线上的2个节点的功能,就像在Directed Graph Editor中所做的那样,但没有想到解决方案

下面是代码片段,其中添加了一个新节点,并检查了“拖动到自身”条件:

enter code here

  // select node
  mousedown_node = d;
  if(mousedown_node === selected_node) selected_node = null;
  else selected_node = mousedown_node;
  selected_link = null;

enter code here

  // reposition drag line
  drag_line
    .style('marker-end', 'url(#end-arrow)')
    .classed('hidden', false)
    .attr('d', 'M' + mousedown_node.x + ',' + mousedown_node.y + 'L' + mousedown_node.x + ',' + mousedown_node.y);

enter code here

  restart();
})
.on('mouseup', function(d) {
  if(!mousedown_node) return;

enter code here

  // needed by FF
  drag_line
    .classed('hidden', true)
    .style('marker-end', '');

enter code here

  // check for drag-to-self
  mouseup_node = d;
  if(mouseup_node === mousedown_node) { resetMouseVars(); return; }

  // unenlarge target node
  d3.select(this).attr('transform', '');
请帮我解决这个问题。谢谢非常感谢您的帮助