0

我需要维护某些可排序列表中项目的确切数量,并且在执行此操作时遇到了麻烦。当我开始从列表 #1 中拖动时,计数会增加,并且从那时起有一个额外的项目在播放。当我将鼠标悬停在列表 #2 上时,它的计数会增加。

例如,单击小提琴:

$(function () {
    $("#ul1, #ul2").sortable({
        connectWith: ".connectedSortable"
    }).disableSelection();
  });

function update_counts() {
    var n_ul1 = $("#ul1 li").length;
    var n_ul2 = $("#ul2 li").length;
    $("#count1").html(n_ul1);
    $("#count2").html(n_ul2);
}

$(function () {
    $("#ul2,#ul1").droppable({
        over: function (ev, ui) {
            update_counts();
        },
        drop: function (ev, ui) {
            update_counts();
        }
    }).disableSelection();
});
4

1 回答 1

0

我将回答我自己的问题:

function update_counts() {
    var n_ul1 = $("#ul1 li").not(".ui-sortable-helper").length;
    var n_ul2 = $("#ul2 li").not(".ui-sortable-helper").length;
    $("#count1").html(n_ul1);
    $("#count2").html(n_ul2);
}

.not(".ui-sortable-helper") 是需要的。

于 2014-08-10T19:52:57.220 回答