编程语言
首页 > 编程语言> > javascript-jsPlumb如何删除重复的连接

javascript-jsPlumb如何删除重复的连接

作者:互联网

我正在尝试避免在使用jsPlumb时出现重复的连接(具有相同源和目标的2个连接).有没有一种方法而不必修改jsPlumb.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);
 }
});

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

标签:jsplumb,javascript,jquery
来源: https://codeday.me/bug/20191029/1960164.html