JQuery - 每个Droppable必须接受一个且只能接受一个Draggable

时间:2012-11-14 11:33:21

标签: jquery jquery-droppable

我遇到了一些JQuery问题 - Draggable / Droppable。我一直在谷歌搜索,也搜索了这个论坛。问题有所解决,但我的情况仍然会导致不必要的结果。

我在这个帖子中提出了一些答案:jQuery UI - Droppable only accept one draggable

所以我的任务基本上是拥有一个拖放系统,其中只有一个可拖动项目可以落在Droppable项目上。好的,首先,如果Draggables已经被淘汰,你需要设置他们的Droppables正忙。我使用了一个创建函数。

以下是一些代码:

$('.droppable').droppable
({
    hoverClass: "ui-state-active",
    drop: function (event, ui) {
    $(this).droppable('option', 'accept', ui.draggable);
    },
    out: function (event, ui) {
        $(this).droppable('option', 'accept', '.draggable');
    },
    create: function (event, ui) {
        if ($(this).find('.draggable').length == 1) {
            $(this).droppable('option', 'accept', $(this).find('.draggable'));
        }
    },
});


$('.draggable').draggable
({
    revert: 'invalid',
    cursor: 'move',
    zIndex: 10000
});

我的问题:如果用户拖动某个项目并且无法将其置于接受的Droppable上,则会恢复。这意味着它没有被删除,drop:function永远不会运行。这意味着此Droppable现在接受可拖动类的每个项目,即使存在一个项目(还原的项目)。人们可以做些什么呢?我希望你能看到我的意思。

我希望我现在已经做好了一切,如果没有,请告诉我。

谢谢!

0 个答案:

没有答案