4

我目前有一个使用 Jquery UI Drag and Drop 的布局。我在 Jquery 网站上看到了用于恢复的代码,但我不确定如何检测一个 div 是否已被拖放到某个 div 上,如果它有一直在恢复它。

基本上我有 2 个 div,我只希望拖放能够放入其中一个,如果它没有被放入正确的 div 中,那么它会被还原:)

脚本:

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

可拖动:

<div id="drag" class="ui-widget-content" onmousedown="shift('example')"> </div>

DIV

<div id="container">
    <div id="floor"> </div>
    <div id="other"> </div>
</div>

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

任何帮助将非常感激

谢谢大家!

4

1 回答 1

10

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

希望这会有所帮助

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

行为:当用户拖动drag mefloor它时将允许,如果你将它拖动到other它不会 B-)

解释

jQuery 代码

// 将 Floor Div 设为可放置

$('#floor').droppable({
    tolerance: 'fit'
});

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

$('#drag').draggable({
    revert: 'invalid',
    stop: function(){
        $(this).draggable('option','revert','invalid');
    }
});

// 最后告诉拖动它们的 Droppable 属性

$('#drag').droppable({
    greedy: true,
    tolerance: 'touch',
    drop: function(event,ui){
        ui.draggable.draggable('option','revert',true);
    }
});
​
于 2012-06-01T00:29:07.690 回答