禁用droppable中图像的drop

时间:2013-09-05 07:20:20

标签: jquery-ui

我有一张图片,我从页面的一部分拖动并放入DIV。没问题。但是当我只是在新的DIV家中拖动图像时,我仍然会触发DIV的掉落处理程序。有没有一种简单的方法可以为已经在droppable中的元素禁用drop handler?

由于

1 个答案:

答案 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);

        }
    });
});

演示:http://jsfiddle.net/IrvinDominin/hLxAd/