2011-07-25 16 views

回答

0

感覺有點哈克,但一個可能的解決方案如下:

$("#draggable").draggable({ revert: function(){if($('#droppable').hasClass('logRevert') == true){ 
      $('#droppable').removeClass('logRevert'); return false; 
    } 
else{ 
/*Your Code here*/ 
return true; 
} 
}); 

復歸接受功能,所以我們只返回true,如果拖動不被接受,無論出於何種原因。

現在要完成這項工作,當可接受的可拖動元素位於可放置區域上方時,我們必須添加我們的.logRevert類。在它下降並沒有得到恢復後,它將刪除助手類.logRevert。現在,您可以隨時添加代碼從尼克Craver的應答所得出的回報

$("#droppable").droppable({ 
    accept: '#draggable', 
    over: function(event, ui){$(this).addClass('logRevert');}, 
    drop: function(event, ui) { 
     $(this).addClass('ui-state-highlight').find('p').html('Dropped!'); 
    } 
}); 

jQuery draggable revert based on condition