根据ul长度启用/禁用droppable

时间:2015-03-03 17:13:54

标签: javascript jquery-ui

我有一个可放置的jqueryui元素:

    // droppable group
    $group.droppable({
        accept: "#batch > li",
        activeClass: "ui-state-highlight",
        drop: function( event, ui ) {
            moveToGroup( ui.draggable );
        }
    });

根据组内ul列表的长度,应该禁用它。

        if ($('#group ul li').length >= N_GROUP)
            $group.droppable("disable");
        else
            $group.droppable("enable");

我应该把这个条件放在哪里?我把它放在moveToGroup函数中,但是意识到它不起作用,因为:一旦组被禁用,它就无法调用moveToGroup而无法再次启用。该代码应该响应哪个事件?

1 个答案:

答案 0 :(得分:0)

您可以考虑在dragstart事件而非moveToGroup()内运行逻辑。这样,如果在用户拖动时它太满,则可以禁用droppable。然后,您将在dragend事件上重新启用droppable。