这是我的项目的代码和DEMO:http://jsbin.com/erofot/1
我想做的事?
我想让用户只能将.draggabledivs移动到表中(table / .dropable div)
我希望用户可以在表(天)之间水平移动div。
<script>
$(function() {
$( ".draggable" ).resizable();
$( ".draggable" ).draggable({
helper: "clone"});
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});
</script>
最佳答案
您正在寻找可拖动元素上的“还原”选项,以及可放置方法中的“接受”选项:
$(function() {
$( ".draggable" ).resizable();
$( ".draggable" ).draggable({revert: 'invalid', snap: "#dropable"});
$( "#drop_here td" ).droppable({
accept: '.draggable.accept_me',
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});
我已经更新了您的JSBin。
为了帮助说明功能,我在前三个可拖动元素中添加了一个附加的
accept_me
类名。如果将它们中的任何一个拖到表行上,它将接受它并定位到位。如果您尝试拖放前三个图标之一以外的任何图标,它将恢复为原始位置。让我知道您是否需要进一步澄清。
关于jquery - 将div拖到其他div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17019310/