Jquery拖动恢复到特定div

And*_*ew 4 javascript jquery drag-and-drop jquery-ui

我目前有一个使用Jquery UI拖放的布局..我已经看到Jquery网站上的代码用于恢复,但我不知道如何检测div是否已被删除某个div以及是否有那时候还原它.

基本上我有2个div,我只希望拖放能够在一个内部掉落,如果它没有被丢弃在右边那么它被还原:)

脚本:

 <script type="text/javascript">
function shift(parent){
$("#"+parent).draggable({ handle: ".item", accept: "#floor", containment: "#floor", scroll: false, stack:"#floor div" });
}
</script>
Run Code Online (Sandbox Code Playgroud)

可拖动:

<div id="drag" class="ui-widget-content" onmousedown="shift('example')"> </div>
Run Code Online (Sandbox Code Playgroud)

资料核实

<div id="container">
    <div id="floor"> </div>
    <div id="other"> </div>
</div>
Run Code Online (Sandbox Code Playgroud)

可拖动的是在容器内,但我只希望它落在地板而不是其他地方.

任何帮助将非常感激

谢谢大家!

Tat*_*nit 8

Hiya Andrew 工作演示 http://jsfiddle.net/BYsnc/

希望这会有所帮助

好读:http://docs.jquery.com/UI/Draggable

行为:当用户拖动drag mefloor它将使否则,如果你把它拖到other它不会B-)

说明

JQuery代码

//将Floor Div视为可丢弃

$('#floor').droppable({
    tolerance: 'fit'
});
Run Code Online (Sandbox Code Playgroud)

//现在将拖动div设置为可拖动

$('#drag').draggable({
    revert: 'invalid',
    stop: function(){
        $(this).draggable('option','revert','invalid');
    }
});
Run Code Online (Sandbox Code Playgroud)

//最后告诉拖拽他们的Droppable属性

$('#drag').droppable({
    greedy: true,
    tolerance: 'touch',
    drop: function(event,ui){
        ui.draggable.draggable('option','revert',true);
    }
});
?
Run Code Online (Sandbox Code Playgroud)