0

我有同样的问题,我有两个 div 标签,我想从动态创建的图像列表中拖动图像。但我想限制另一个图像被拖动到​​同一个 div 上。

如果 div 已被删除,则禁用删除?

我使用了 Jamiec 在其回答中所说的方法。

但是,继承人的问题是我遇到了一个我无法解决的错误

未捕获的类型错误:无法设置未定义的属性“originalPosition”

请有人帮助我消除此错误。

4

1 回答 1

0

选项1

请检查演示。如果已经有一个元素被放置在 droppable 上,元素将始终恢复到它的原始位置。

$('#target').droppable({
    accept: ".dragme",
    drop: function(event, ui) {
       ui.draggable.addClass('dropped');
       ui.draggable.draggable( "disable" );
      $('#target').droppable( "option", "accept", "" );
    }
});

$('.dragme').draggable({
    revert : 'invalid'
});

演示

选项:#2

这是另一个演示,当一个新元素被删除时,现有的被删除元素将恢复到它的原始位置。

var droppedObj = null;
$('#target').droppable({
    accept: ".dragme",
    drop: function (event, ui) {
        if(droppedObj !== null) {
            droppedObj.animate({ left: '0px', top : '0px', opacity : 1 }, 200).removeClass('dropped');
            droppedObj.draggable("enable");
        }
        droppedObj = ui.draggable;
        ui.draggable.addClass('dropped').draggable("disable");
    }
});

$('.dragme').draggable({
    revert: 'invalid'
});

演示

于 2013-04-08T13:17:27.397 回答