我有3个div元素都使用类abs
,其中只有一个包含其他类outside
,如下所示。所有元素都是可拖动和可放置的(使用jquery ui)。
问题是我不希望将具有类outside
的div放入其他abs
div或接受任何abs
div放入其中。我只希望能够将abs
放入其他abs
,而不存在outside
。我尝试了以下但我仍然可以将outside
div拖到其他abs
div中。我不要那个。你能帮我指导一下防止这种情况发生的正确方法。
<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
})
答案 0 :(得分:6)
我认为您只需要将'.abs:not(.outside)'
放入接受选项中,如下所示:
$('.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');
}
});