http://jsfiddle.net/xSQBw/は私の問題を示しています。ボックスを親からドラッグして親に戻すと、親が要素を受け入れることに注意してください。子がドラッグされている間、親のドロップ可能性を無効にする必要があります。次に、子がドロップされた後、ドロップ可能性を再度有効にする必要があります。
droppableのstart:メソッドとstop:メソッドを使用してみましたが、無効化/再有効化するための正しい要素を取得するのは難しい、厄介で、とにかく機能しませんでした。
ドロップ可能なハンドラーで私が試みていることの例を次に示します。
$('<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',
});