Чтобы сделать это, вы не можете использовать встроенную опцию accept
, потому что она не вызовет событие drop
для текущего сбрасываемого объекта, если перетаскиваемый объект не является приемником, и, следовательно, будет распространяться в родительский объект. Droppable.
Таким образом, лучший способ - реализовать собственную проверку приема, которая довольно проста:
$('#foo').droppable({
drop: function(e){
console.log(e);
}
});
var accepted = '#red';
$('#bar').droppable({
greedy: true,
drop: function(e,ui){
if (!$(ui.draggable).is(accepted)) {
return false;
}
console.log(e.target);
}
});
Вы можете увидеть, как это работает на jsFiddle .