jQueryUI - 拖放问题 - 拖动的元素落后于其他DOM元素

时间:2013-07-31 08:35:38

标签: javascript jquery-ui drag-and-drop

我正在尝试在2 Div之间实现拖放

请参考下面的小提琴: http://jsfiddle.net/sandeepkram/SAUCa/

此布局是我的应用程序的副本。在小提琴中你可以看到,如果你在第一个div中拖动一个元素(在左侧)它会永远在该div中移动 - 尽管如果你只是动作鼠标拖放到右侧div,它实际上确实工作

这里的问题是左侧div内元素的无限滚动/拖动。我不知道这里有什么问题 -

在我的应用程序中,我有另一个问题,因为当我从左侧div中拖出一个项目时,它会消失,虽然我可以将光标放在右侧div上,并且拖放似乎已正常工作。

需要帮助才能知道拖动元素消失的原因。

我在stackoverflow和网上查找了与此相关的所有问题和资源,sortables等 - 但没有用。

我也试过使用“堆栈”选项,但没有使用

$.each($("ul#secondaryKPIList ul > li"), function (index, tListItem) {
        $(tListItem).addClass("SecondaryKPIDraggable");
        $(tListItem).draggable({
        revert : 'invalid',
        stack: '.SecondaryKPIDraggable'
        });
    });

3 个答案:

答案 0 :(得分:4)

要解决视觉问题,您只需删除溢出更改

即可
overflow-y: auto;
overflow-x: hidden;

在.KpisListItems上将其设置为以下小提琴:http://jsfiddle.net/GEWLs/2

这些规则搞乱了jQuery可排序处理和计算定位的方式,因此出现了奇怪的行为。

答案 1 :(得分:0)

我知道我有点晚了,但是继承人是另一个我觉得更容易的解决方案,只需添加以下css:

.ui-draggable { z-index:9999; }

但是,9999可能有点矫枉过正。

答案 2 :(得分:-1)

我的猜测是因为你正在使用'list'标记。如果你尝试使用'divs'而不是你的可拖动项目我会下注,它会按预期工作。