div在没有被拖动的情况下移动时未更新jsPlumb端点

Ser*_*e P 5 javascript jquery jsplumb

我正在使用jsPlumb.我有.project容纳.taskdiv的容器.这些.taskdiv是jsPlumb连接的源/目标.该.project容器是可拖动.

http://jsfiddle.net/8Af7s/

在创建.taskdiv(使用jQuery创建)时,会为div分配源/目标属性:

 // Makes the task div a possible target (i.e. connection can be dragged to)
 jsPlumb.makeTarget(newState, {
   anchor:["Continuous", { faces:["left", "right"] } ]
 });

 // Makes the task div a possible source (i.e. connection can be dragged from)
 jsPlumb.makeSource(newState, {
   anchor:["Continuous", { faces:["left", "right"] } ]
 });
Run Code Online (Sandbox Code Playgroud)

.tasknewState

 var newState = $('<div>').attr('id', id).addClass('task')
Run Code Online (Sandbox Code Playgroud)

现在要删除一个任务,我有一个静态按钮,它只是分离与该任务的所有连接并将其删除:

 $('#removetask1').click(function(e) {
     jsPlumb.detachAllConnections($('#task1'));
     $('#task1').remove();
     //jsPlumb.repaintEverything();
 })
Run Code Online (Sandbox Code Playgroud)

task如果删除的taskdiv位于顶部,则当其他s向上移动时会出现问题project

另外,添加行(即取消注释):

 jsPlumb.repaintEverything();
Run Code Online (Sandbox Code Playgroud)

删除函数调用结束时修复了问题,但拖动div 时问题仍然存在.project.


之前task1被删除:

在此输入图像描述

task1删除之后task2向上移动取代它,但连接仍然假定task2在底部:

在此输入图像描述

小智 0

在删除元素之前分离所有连接,然后再次重新绘制其余连接可能会有所帮助。不要忘记将连接数据存储在一侧(没有那些必须与元素一起删除的数据),然后运行

jsPlumb.detachEveryConnection();
Run Code Online (Sandbox Code Playgroud)

删除该元素,然后删除您之前保存的每个连接的 jsPlumb.connect({...}) 。

更新了 jsfiddle: http: //jsfiddle.net/kvtbffrj/