У меня была немного другая проблема: у меня было два типа сбрасываемых предметов, один тип всегда поверх другого.
Чтобы узнать, на какой предмет сбрасывания перетаскивается перетаскиваемый предмет, более высокий предмет сбрасывания добавлял класс перетаскиваемому объекту, когда его перетаскивали поверх него. Когда событие перетаскивания сработало на обоих дескрипторах, нижний дескриптор проверил, имеет ли перетаскиваемый объект добавленный класс. Если да, то игнорируется событие сброса.
top.droppable({
over: function( drop_event, drop_ui ) {
drop_ui.helper.addClass('over_top_element');
},
out: function( drop_event, drop_ui ) {
drop_ui.helper.removeClass('over_top_element');
},
drop: function(drop_event, drop_ui) {
//Handle drop here
}
});
bottom.droppable({
drop: function(drop_event, drop_ui) {
if (!ui.helper.hasClass('over_top_element'))
{
//Handle drop here
}
}
});