I'm trying to figure out the logic of how to do this.
I have many images with only a CSS class name, they are created dynamically.
These images are draggable using jQuery UI's .draggable.
I need to have a "trash can" that when an element is dragged into , it is removed.
Example: http://jsfiddle.net/KWdcU/3/ (This is set to remove all elements and not the one dragged into it)
Code:
<div class ="box">
<div class="stack">one</div>
<div class="stack">two</div>
</div>
<div id="trash">trash</div>
$(function() {
$( ".stack" ).draggable();
});
$('#trash').droppable({
over: function() {
//alert('working!');
$('.box').remove();
}
});
You can find the item being dragged by using .draggable
property of the ui
element being passed to the callback function of over
, as specied in the docs. Like this:
$(function() {
$(".stack").draggable();
$('#trash').droppable({
over: function(event, ui) {
ui.draggable.remove();
}
});
});
Here's an updated jsFiddle.
drop
event rather than the over
event, as it would be annoying to delete an item by dragging it unintentionally over the trashcan.
Better to use drop in stead of over
$(function() {
$(".stack").draggable();
$('#trash').droppable({
drop: function(event, ui) {
$(ui.draggable).remove();
}
});
});
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