基于ul长度启用/禁用可丢弃

Enable/disable droppable based on ul length

本文关键字:ul 启用 基于      更新时间:2023-09-26

我有一个可丢弃的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函数中,但意识到它不起作用,因为:一旦禁用group,它就不能调用moveToGroup,也不能再次启用。此代码应响应哪个事件?

您可以考虑在dragstart事件上而不是在moveToGroup()内运行逻辑。这样,如果用户拖动时滴管太满,它将被禁用。然后,您将重新启用dragend事件上的可丢弃项。