Я предполагаю, что когда вы бросаете свой перетаскиваемый объект на цель, вы не хотите, чтобы он возвращался, но после того, как вы перемещаете его обратно из цели, вы хотите, чтобы он вернулся в исходное положение с остальной частью перетаскиваемые?
Если это так, код в этом ответе — это то, что вам нужно, и хотя значения 0, 0
для верхнего и левые местоположения кажутся жестко закодированными, они необходимы, так как атрибуты CSS position
перетаскиваемых объектов получают значение relative
после того, как они были превращены в перетаскиваемые объекты, поэтому установка для них обратно значения 0, 0
будет перемещать их обратно в исходное положение. исходные позиции.
Вот пример jsfiddle, а также измененный код в вашем примере:
$('#target').droppable({
// you need to set revert to a function as the 'out' event is turning it
// into a function...
drop: function(event, ui){
ui.draggable.draggable('option', 'revert', function(){return false});
},
out: function(event, ui){
ui.draggable.draggable('option', 'revert', function(){
$(this).data('draggable').originalPosition = {
top: 0,
left: 0
};
return true;
});
}
});
Надеюсь это поможет! Пожалуйста, дайте мне знать, если я полностью промахнулся!
person
Chris Kempen
schedule
01.02.2012