在拖动时知道你结束的元素

时间:2013-09-24 17:45:56

标签: jquery jquery-ui-droppable

我遇到的问题几乎与此线程相同:

jQuery droppable - receiving events during drag over (not just on initial drag over)

唯一的区别是我需要知道我已经结束的元素并且它不是“可放置”的元素。它只是我的droppable中的一个元素。

所以,如果我有一个父DIV(即droppable)有3个子DIV,当我将我的项目拖过3个孩子的DIV时,我想知道,当丢弃时,该项目是否应该被删除或低于其中一个子元素。

存在同样的问题,如上面的帖子(mouseover等,事件没有触发droppable div的子元素)。

思想?

1 个答案:

答案 0 :(得分:0)

你可以得到鼠标X& Y坐标或偏移X&掉落时物品的Y加上它的高度&宽度等因此您可以计算对象的边界并获得准确的放置位置。

$(this).offset().top / $(this).offset().left

$(document).mousemove(function(event) {
    currentMousePos.x = event..pageX;
    currentMousePos.y = event.pageY;
});

然后遍历下面的对象并将它们的坐标/边界与对象的坐标/边界进行比较。你可以有一些逻辑,如果超过以下等等,如果它不是一个简单的呼叫,那就可以解决。