Я думаю, вы не делаете элемент перетаскиваемым после удаления и добавления
drop: function( event, ui ) {
$('.ui-draggable-dragging').addClass('onCell');
$(ui.draggable).draggable({
revert: true,
snap:true,
snap: '.cellBox', snapMode: 'inner', snapTolerance:40,
});
if (ui.draggable.is('.letters')) {
$(this).addClass('ui-state-highlight').find('span').html('got!');
// cloning and appending prevents the revert animation from still occurring
ui.draggable.clone(true).css({position:relative,top:0,left:0}).appendTo($(this));
ui.draggable.remove();
} else {
$('.cellBox > span').html('No!')
setTimeout(function(){ $('.cellBox > span').html('Drop'); }, 1000);
}
}
// отредактировано
$( ".board" ).droppable({
activeClass: 'ui-state-hover',
hoverClass: 'ui-state-active',
over: function(event, ui) {
$('.ui-draggable-dragging').addClass('lettersBig');
},
out: function(event, ui) {
$('.ui-draggable-dragging').removeClass('lettersBig');
},
drop: function( event, ui ) {
$('.ui-draggable-dragging').addClass('onCell');
$(ui.draggable).draggable('destroy');
if (ui.draggable.is('.letters')) {
$(this).addClass('ui-state-highlight').find('.cellBox').html('got!');
// cloning and appending prevents the revert animation from still occurring
var objectClone = $(ui.draggable).clone();
$(objectClone).css('position','relative').position({top:0,left:0});
$(objectClone).draggable({
revert: true,
snap:true,
snap: '.cellBox', snapMode: 'inner', snapTolerance:40,
});
$(this).append($(objectClone));
ui.draggable.remove();
} else {
$('.cellBox > span').html('No!')
setTimeout(function(){ $('.cellBox > span').html('Drop'); }, 1000);
}
}
});
Я немного изменил функцию отбрасывания.У него есть некоторые глюки, но попробуйте один раз и убедитесь сами