使被拖放的元素可丢弃,同时仍可拖动

Making dragged and dropped element droppable while still being draggable

我一直在努力实现如下功能:

-您可以将多个 450x150 拖放到 .drop_cont

-然后您可以将 300x150 拖放到 450x150

我尝试添加和删除 类,但它似乎不起作用。 有什么方法可以做到吗,可能有一些我没有想到的方法。

演示: jsFiddle

示例代码:

$(document).ready(function () {
$( ".idg_row" ).draggable({
    helper: "clone",
    appendTo: "body",
    containment:"document",
    revert: true,
    stop: function( event, ui ) {
        check();
    }
});
$( ".idg_column" ).draggable({
    helper: "clone",
    appendTo: "body",
    containment:"document",
    revert: true,
    stop: function( event, ui ) {
        check();
    }
});
$( ".drop_cont" ).droppable({
    accept: ".idg_row",
    drop: function (event, ui) {
        ui.draggable.clone().appendTo($(this)).draggable();
    }
});
$( ".droppableC" ).droppable();
});

function check() {
  $('.drop_cont .idg_row').addClass('droppableC');
  $('.drop_cont .idg_column').addClass('droppableC');
}

添加 class 后,您需要重新调用新元素上的 运行。

function check() {
  $('.drop_cont .idg_row').addClass('droppableC');
  $('.drop_cont .idg_column').addClass('droppableC');
  $('.droppableC:not(.ui-droppable)' ).droppable();
}