Это (на английском) распространенная проблема;)
Вы можете установить класс для перетаскиваемых объектов, а затем сопоставить контекст с событием drop.
$(function() {
$( "#diva" ).draggable(
drag: function(event, $ui) {
$ui.addClass('copy');
},
stop: function(event, $ui) {
$ui.removeClass('copy');
}
);
$( "#divb" ).draggable(
drag: function(event, $ui) {
$ui.addClass('shear');
},
stop: function(event, $ui) {
$ui.removeClass('shear');
}
);
$( "#divc" ).droppable({
drop: function( event, $ui ) {
// you can access the dragglable html by this
// and then can append it to anywhere, its like making its copy
var html = $ui.draggable.html();
if ($ui.draggable.hasClass('shear')) {
// destroy #divb here so that it looks like shear
}
}
});
});