JSFiddle - React, Tailwind, and code Playground
HTML
<div class="draggable"></div>
<div id="droppable"></div>
<div id="block"></div>
CSS
#droppable {
border: 1px solid black;
background-color: green;
position: absolute;
top: 100px;
left: 200px;
height: 300px;
width: 300px;
}
.draggable {
border: 1px solid black;
background-color: blue;
position: absolute;
top: 10px;
left: 30px;
height: 30px;
width: 30px;
z-index: 20;
}
#block {
border: 1px solid black;
background-color: red;
position: absolute;
top: 200px;
height: 100px;
width: 100%;
z-index: 10;
}
JavaScript
$('.draggable').draggable({
revert: 'invalid'
});
$('#droppable').droppable({
accept: '.draggable',
drop: function (e, ui) {
ui.draggable.hide();
console.log(ui);
var target = document.elementFromPoint(ui.offset.left, ui.offset.top);
if (!target || target.id != "droppable") ui.draggable.draggable({
revert: true
});
else ui.draggable.draggable({
revert: false
});
ui.draggable.show();
}
});