http://jsfiddle.net/xSQBw/演示了我的问题。请注意,当您将一个盒子拖出其父级并将其带回父级时,父级将接受该元素。我需要在拖动孩子时禁用父母的可放置性。然后我需要在孩子被丢弃后重新启用 droppable'ness。
我尝试使用 start: 和 stop: 方法进行 droppable,但是,让正确的元素禁用/重新启用是棘手的、笨拙的,并且无论如何都不起作用。
这是我正在尝试使用 droppable 处理程序的示例:
$('<fieldset />',
{
id: login,
level: self.levelValue,
class: 'member ' + employeeClass,
}).appendTo('#columnWrapDiv')
.droppable(
{
hoverClass: 'hovered',
drop: function(event,ui) { /* removed */});
还有我的可拖动:
$('.class')
.draggable(
{
containment: '#ttkanbanDiv',
cursor: 'crosshairs',
revert: true,
opacity: 0.4,
start:
function(ui)
{
var id = $($($(ui).attr('srcElement'))
.parents()
.find('.ui-droppable')[0]).attr('id');
$('#' + id).removeClass('ui-droppable');
},
stop:
function(ui)
{
$($($(ui).attr('srcElement'))
.parents()
.find('.ui-droppable')[0])
.addClass('ui-droppable');
},
zindex: 'auto',
});