【发布时间】:2014-06-17 00:48:36
【问题描述】:
我正在使用jsPlumb。我有 .project 容器,其中包含 .task div。这些.task div 是 jsPlumb 连接的源/目标。 .project 容器是可拖动的。
.task div 在创建时被分配了源/目标属性(使用 jQuery 创建):
// 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"] } ] });
.task 是 newState
var newState = $('<div>').attr('id', id).addClass('task')
现在要删除一个任务,我有一个静态按钮,它只是断开与该任务的所有连接并将其删除:
$('#removetask1').click(function(e) { jsPlumb.detachAllConnections($('#task1')); $('#task1').remove(); //jsPlumb.repaintEverything(); })
如果删除的task div 位于project 的顶部,则当其他tasks 向上移动时会出现问题
另外,添加行(即取消注释):
jsPlumb.repaintEverything();
在 remove 函数调用结束时解决了问题,但是当.project div 被拖动时,问题仍然存在。
task1 被删除之前:
task1 被删除后task2 向上移动并取而代之,但连接仍假定task2 位于底部:
【问题讨论】:
-
通过这个 SO 链接的小提琴链接,你可能会有一些想法:stackoverflow.com/questions/23882199/…
-
谢谢,我遇到了那个链接,尽管 jQuery.draggable 在我的情况下它会出人意料地工作(有时它会工作,很多时候它会阻止其他元素响应)。
-
太难过了,怎么解决了这个问题?
标签: javascript jquery jsplumb