多个可丢弃的

我有多个可放置的div(都具有相同的大小)和一个可拖动的div。 可拖动的div比一个droppable大3倍。 当我在droppables div上拖动可拖动的div时,我想找到哪个droppable受到影响。

我的代码如下所示:

$(function () { $(".draggable").draggable({ drag: function (event, ui) { } }); $(".droppable").droppable({ drop: function (event, ui) { alert(this.id); } }); }); 

HTML

 
drop in me1!
drop in me2!
drop in me2!
drop in me2!
drop in me2!
drop in me2!
drop in me2!
drop in me2!
Drag

但我的警报只显示我的可拖动div(Div0)命中的第一个,我怎么能找到丢失的(Div1和Div2),这也是受到影响的?

这是一个有同样问题的人: http : //forum.jquery.com/topic/drop-onto-multiple-droppable-elements-at-once

也许是这样的? 在这里放一个演示。

 $(".droppable").droppable({ drop: function (event, ui) { var $draggable = $(ui.draggable); var draggableTop = $draggable.offset().top; var draggableHeight = $draggable.height(); var draggableBottom = draggableTop + draggableHeight; $droppables = $(".droppable"); $droppablesCoveredByDraggable = $droppables.filter( function() { var $droppable = $(this); var top = $droppable.offset().top; var height = $droppable.height(); var bottom = top + height; var isCoveredByDraggable = top <= draggableBottom && bottom >= draggableTop; return isCoveredByDraggable; }); //example: mark the droppables that are covered $droppables.removeClass("marked"); $droppablesCoveredByDraggable.addClass("marked"); } });