jsPlumb如何删除重复连接

jsPlumb how to remove duplicate connections

本文关键字:连接 删除 何删除 jsPlumb      更新时间:2023-09-26

我试图避免有重复的连接(2连接相同的源和目标),而使用jsPlumb。有没有一种方法可以做到这一点,而不必修改jsplump .js本身?

http://jsfiddle.net/uQdfq/从task1
(拖动到task3 两次)

我不想有像(1)那样添加特定端点的限制。

我的.task被定义为可能的目标/源时,他们被调用-这是整个div可以是一个源/目标,而不仅仅是一些端点:

  addTask($('#project1'), 'task' + 1);

函数本身:

// Adds a task div to the specific project
function addTask(parentId, id) {
  var newState = $('<div>').attr('id', id).addClass('task')
  // A title for the task
  var title = $('<div>').addClass('title').text(id);
  newState.append(title);
  $(parentId).append(newState);
  // Makes the task div a possible target (i.e. connection can be dragged to)
  jsPlumb.makeTarget(newState, {
    anchor: 'Continuous'
  });
  // Makes the task div a possible source (i.e. connection can be dragged from)
  jsPlumb.makeSource(newState, {
    anchor: 'Continuous'
  });
}

添加一些阻止创建重复连接的条件的最好方法是什么

jsPlumb.bind('connection',function(info){
 var con=info.connection;
 var arr=jsPlumb.select({source:con.sourceId,target:con.targetId});
 if(arr.length>1){
    jsPlumb.detach(con);
 }
});

每当创建一个新连接时,检查是否已经存在一个具有相同源的连接&目标,如果是,然后分离新的