I currently have a layout that uses Jquery UI Drag and Drop.. I have seen the code on the Jquery website for reverting but I am not sure how I would go about detecting if a div has been dropped on a certain div and if it has been then to revert it.
Basically I have 2 divs and I only want the drag/drop to be able to drop inside one, if it doesn't get dropped in the right one then it is reverted :)
Script:
<script type="text/javascript">
function shift(parent){
$("#"+parent).draggable({ handle: ".item", accept: "#floor", containment: "#floor", scroll: false, stack:"#floor div" });
}
</script>
Draggable:
<div id="drag" class="ui-widget-content" onmousedown="shift('example')"> </div>
DIVs
<div id="container">
<div id="floor"> </div>
<div id="other"> </div>
</div>
The draggable is within the container but I only want it to be dropped within floor and not other.
Any help would be much appreciated
Thank you all in advance!
Hiya Andrew Working Demo http://jsfiddle.net/BYsnc/
Hope this will help
Good read: http://docs.jquery.com/UI/Draggable
Behaviour: When user drag drag me
to floor
it will allow else if you drag it to other
it wont B-)
Explanation
JQuery Code
// Make Floor Div as droppable
$('#floor').droppable({
tolerance: 'fit'
});
// Now make drag div as draggable
$('#drag').draggable({
revert: 'invalid',
stop: function(){
$(this).draggable('option','revert','invalid');
}
});
// Finally tell drag that about their Droppable property
$('#drag').droppable({
greedy: true,
tolerance: 'touch',
drop: function(event,ui){
ui.draggable.draggable('option','revert',true);
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With