$(function() {
var draggableOptions = {
connectToSortable: ".list",
helper: "clone",
revert: "invalid",
revertDuration: 0,
start:function(ev,ui){
$(ev.target).hide();
ui.helper.data('dropped', false);
},
stop:function(ev,ui){
if(ui.helper.data('dropped')){
ev.target.remove();
}else{
$(ev.target).show();
}
}
};
var sortableOptions = {
helper: 'clone',
connectWith: ".list",
placeholder : "sortable-item-placeholder",
receive: function (event, ui) {
ui.item.remove();
},
beforeStop:function(ev,ui){
if(ui.helper.data('dropped')){
ui.item.remove();
}
}
};
$("#sortable").sortable(sortableOptions);
var droppableOptions = {
drop:function(ev,ui){
if(!ui.helper.is("tr")){
var $obj = ui.helper.clone();
$obj.css({
position: 'relative',
top: "0px",
left: "0px"
});
$($obj).draggable(draggableOptions);
$obj.appendTo($(this).find("td ul"));
ui.helper.data('dropped', true);
$(this).removeClass("drop-highlight");
}
},
over: function(){$(this).addClass("drop-highlight");},
out: function(){$(this).removeClass("drop-highlight");},
};
$("tr").droppable(droppableOptions);
});
ul { list-style-type: none; margin: 0; padding: 0; margin-bottom: 10px; }
li { margin: 5px; padding: 5px; height:2em;}
.droppable{
width:100%;
}
table{
width:100%;
}
td{
height : 2.5em;
border: 1px solid black;
}
.drop-highlight{
background: gray;
}
.sortable-item-placeholder{
background: yellow;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<ul id="sortable" class="list">
<li class="ui-state-default green">Sample Task 1</li>
<li class="ui-state-default green">Item 2</li>
<li class="ui-state-default green">Item 3</li>
<li class="ui-state-default green">Item 4</li>
<li class="ui-state-default green">Item 5</li>
</ul>
<table id="droppable-table">
<tbody>
<tr><td><ul class="droppable">1</ul></td></tr>
<tr><td><ul class="droppable">2</ul></td></tr>
<tr><td><ul class="droppable">3</ul></td></tr>
<tr><td><ul class="droppable">4</ul></td></tr>
<tr><td><ul class="droppable">5</ul></td></tr>
<tr><td><ul class="droppable">6</ul></td></tr>
</tbody>
</table>
的[jQuery的排序,并且可放开(HTTP可能重复://计算器.COM /问题/ 2090121/jQuery的排序和-可弃) –