拖动时嵌套可拖动抖动的端点

时间:2015-02-15 00:46:14

标签: draggable jsplumb

看看this fiddle。单击" New Container",向下和向右拖动容器,然后单击容器内的 + 按钮。现在拖动新元素。连接到它的端点无法确定它们是应该相对于容器还是相对于文档定位,因此它们在两者之间来回抖动。这是在jsPlumb.repaintEverything函数期间调用drag()的;如果你把它留下来,端点就会停留在错误的位置而不是抖动。

我想也许问题是容器expectedposition: relative,而可拖动项目预计有position: absolute。所以我尝试将内部draggables放入可拖动容器内的<div> position: relative;那没有用。

我的问题看起来可能类似于this GitHub issue中引用的那个问题,但该错误据说已被修复。 Another issue提到jQuery对于拖动是不可靠的,我们应该使用vanilla jsPlumb;如果我绝对必须的话,我可以在没有jQuery的情况下重建这个,但是这将使我对这个项目的未来计划更加困难。

如何使嵌套可拖动元素的端点定位平滑可靠?

1 个答案:

答案 0 :(得分:1)

您可以使用不同的实例:jsPlumb.getInstance()。请玩JSFiddle example。这个例子中要解决的主要问题是:

  1. 需要防止来自不同实例的元素之间的连接。
  2. 需要包含resize事件处理程序。