Вы также можете передать метод в параметр revert
, например, если мы возьмем демонстрационный пример, подобный следующему:
<div id="draggable" class="ui-widget-content">
<p>I revert when I'm not dropped</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop me here</p>
</div>
Затем на вашем перетаскиваемом элементе вы можете вычислитьследует ли вернуться, как это:
$("#draggable").draggable({
revert: function(dropped) {
var dropped = dropped && dropped[0].id == "droppable";
if(!dropped) alert("I'm reverting, what a cruel world!");
return !dropped;
}
});
Вы можете попробовать здесь , передаваемый параметр dropped
- это элемент, на который он был отброшен, это .droppable()
,это просто false
, если он приземлился где-либо еще.
Или, если вы используете accept
параметр , вы можете рассчитать, как это:
var dropped = dropped && $(this).is(dropped.droppable('option', 'accept'));
Используется селектор принятия и .is()
для проверки соответствия.
Демонстрацию этого можно посмотреть здесь .