我有一张图片,我从页面的一部分拖动并放入DIV。没问题。但是当我只是在新的DIV家中拖动图像时,我仍然会触发DIV的掉落处理程序。有没有一种简单的方法可以为已经在droppable中的元素禁用drop handler?
由于
答案 0 :(得分:1)
您可以向已删除的元素添加一个类,然后在drop函数中检查该元素是否具有该类,如果是,则退出drop函数。
在我的示例中,我在drop中新建了一个元素,如果使用拖动,则必须更改所选元素。
代码:
$(document).ready(function () {
$(".doodad").draggable({
helper: 'clone',
scroll: true
});
$(".dropped").draggable({
containment: ".box"
});
$(".box").droppable({
accept: ".doodad",
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function (e, ui) {
if ($(ui.draggable).hasClass('copied')) return
alert('dropped');
var droppedItem = $(ui.draggable).clone().addClass('copied').css({
position: "relative",
top: $(ui.helper).position().top - $(this).position().top,
left: $(ui.helper).position().left - $(this).position().left
}).draggable({
containment: ".box"
});
$(this).append(droppedItem);
}
});
});