jQuery UI Droppable Accept仅从某些类中删除

时间:2013-11-17 00:46:10

标签: jquery jquery-ui jquery-ui-droppable

我有3个div元素都使用类abs,其中只有一个包含其他类outside,如下所示。所有元素都是可拖动和可放置的(使用jquery ui)。

问题是我不希望将具有类outside的div放入其他abs div或接受任何abs div放入其中。我只希望能够将abs放入其他abs,而不存在outside。我尝试了以下但我仍然可以将outside div拖到其他abs div中。我不要那个。你能帮我指导一下防止这种情况发生的正确方法。

http://jsfiddle.net/PWh2L/

检查jsfiddle
<div class="abs"></div>
<div class="abs outside"></div>
<div class="abs"></div>

$('.abs').draggable();
$('.abs:not(.outside)').droppable({
    accept: '.abs',
    hoverClass: "drop-hover",
    tolerance: "pointer",
    greedy: true
})

1 个答案:

答案 0 :(得分:6)

我认为您只需要将'.abs:not(.outside)'放入接受选项中,如下所示:

Working Example

$('.abs').draggable();
$('.abs:not(.outside)').droppable({
    accept: '.abs:not(.outside)', // Important bit
    hoverClass: "drop-hover",
    tolerance: "pointer",
    greedy: true,
    drop: function () {
        alert('drop');
    }
});

或许这更像是你所追求的:

<强> Working Example 2

$('.abs').draggable();
$('.abs').droppable({ // Change here
    accept: '.abs:not(.outside)', // and here
    hoverClass: "drop-hover",
    tolerance: "pointer",
    greedy: true,
    drop: function () {
        alert('drop');
    }
});