2016-08-23 98 views
2

使用JQuery DRAG & DROP用于拖动元素。为了防止字段掉落在可丢弃回退选项之外。丢弃区域外的字段百分比,JQ可拖动和可丢弃

$("#draggable").draggable({revert: "invalid",}); 

它完美,但它并没有恢复到最后的位置,如果字段的百分比搬出可放开

Js Fiddle Link

尝试移动领域之外投放区域部分,它将使场被丢弃。

可一些在指导我如何解决它 Image

回答

1

可以使用tolerance: 'fit'设置可拖动的项目,只有当它是完全可放开元素中删除:

$(document).ready(function() { 
 
    $("#draggable").draggable({revert: "invalid"}); 
 
    $("#Dropable").droppable({ 
 
     activeClass: "ui-state-highlight", 
 
     drop: function (event, ui) { 
 
      alert("dropped!"); 
 
     }, 
 
     tolerance: 'fit' 
 
    }); 
 
});
body { 
 
    font-family:"Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; 
 
    font-size: 62.5%; 
 
} 
 
#draggable { 
 
    width: 150px; 
 
    height: 150px; 
 
    padding: 0.5em; 
 
} 
 
#Dropable { 
 
    height:300px; 
 
    width:400px; 
 
    border: 2px solid red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.css"> 
 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"></script> 
 
<div id="draggable" class="ui-widget-content"> 
 
    <p>Drag me around</p> 
 
</div> 
 
<div id="Dropable">Droppable area</div>