我正在试图找出如何做到这一点的逻辑。
我有许多只有CSS类名的图像,它们是动态创建的。
这些图像可以使用jQuery UI的.draggable.
我需要一个“垃圾桶”,当一个元素被拖入时,它会被删除。
示例:http://jsfiddle.net/KWdcU/3/(设置为删除所有元素,而不是拖入其中的元素)
代码:
<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();
}
});
答案 0 :(得分:17)
您可以使用.draggable
元素的ui
属性找到正在拖动的项目,该over
元素将传递给$(function() {
$(".stack").draggable();
$('#trash').droppable({
over: function(event, ui) {
ui.draggable.remove();
}
});
});
的回调函数,如docs中所述。像这样:
drop
<小时/>
从可用性的角度来看,我建议使用over
事件而不是{{1}}事件,因为删除项目会无意中将其拖到垃圾箱上会很烦人。< / p>
答案 1 :(得分:10)
最好使用drop而不是
$(function() {
$(".stack").draggable();
$('#trash').droppable({
drop: function(event, ui) {
$(ui.draggable).remove();
}
});
});
答案 2 :(得分:0)