我正在使用jquery-ui的可拖动和可放置的功能。
我需要确定是否发生了还原。
是否可以捕获是否发生了“还原”?
答案 0 :(得分:0)
感觉有点hacky,但可能的解决方案如下:
$("#draggable").draggable({ revert: function(){if($('#droppable').hasClass('logRevert') == true){
$('#droppable').removeClass('logRevert'); return false;
}
else{
/*Your Code here*/
return true;
}
});
revert接受一个函数,所以我们只返回true,如果不接受draggable,无论出于何种原因。
现在要做到这一点,我们必须在可接受的draggable高于droppable时添加我们的.logRevert类。在它丢弃并且没有被恢复之后,它将删除辅助类.logRevert。您现在可以始终将代码添加到返回
$("#droppable").droppable({
accept: '#draggable',
over: function(event, ui){$(this).addClass('logRevert');},
drop: function(event, ui) {
$(this).addClass('ui-state-highlight').find('p').html('Dropped!');
}
});
来自Nick Craver的回答:jQuery draggable revert based on condition