【问题标题】:jsPlumb multiple instances dnd bugjsPlumb 多个实例 dnd 错误
【发布时间】:2014-12-12 10:53:48
【问题描述】:
我在一个概览中使用带有多个实例的 jsPlumb,所有实例都是动态创建的。
将代码粘贴到此处的方式是因为它是从 mySQL 动态生成的,所以我无法生成小提琴。
但也许有人以前遇到过这个问题并且知道该错误是在哪里创建的或者我应该再次检查什么。
错误:
一切都显示得很好,所有连接器和锚点都正确显示,
拖放工作但仅在最后一个实例( DIV )
如果我尝试从第一个元素拖动一个元素,它会自动消失并出现在最后一个实例-DIV。
我在哪里可以尝试找出错误?
到目前为止谢谢
问候
【问题讨论】:
标签:
jquery
drag-and-drop
multiple-instances
jsplumb
【解决方案1】:
好的,我解决了,
我的问题是,我使用了这个代码:
$(".dragndrop").draggable({
drag:function(e){
// Your code comes here
instance'.$dynamiccounter.'.repaint($(this));
},
stop: function(e){
// Your code for capturing dragged element position.
var id = this.id;
id = id.replace("flowchartdrag", "");
var x = "x" + id;
var y = "y" + id;
var parentLeft = $("#flexwrap'.$dynamiccounter.'").position().left;
var parentTop = $("#flexwrap'.$dynamiccounter.'").position().top;
var offset = $(this).position();
document.getElementById(x).value=(offset.left - parentLeft);
document.getElementById(y).value=(offset.top - parentTop );
instance'.$dynamiccounter.'.repaintEverything();
},
containment: $("#flexwrap'.$dynamiccounter.'")
});
由于所有元素都使用相同的 CSS 类,因此它们都被加载到它们中
所以我需要使用相同的动态计数器将它们分开
$(".dragable'.$dynamiccounter.'").draggable({
drag:function(e){
...
...
},
containment: $("#flexwrap'.$dynamiccounter.'")
});
现在一切正常;)