jQuery Sortable - 当列表“满”时,如何防止占位符出现?

时间:2015-11-12 20:59:42

标签: jquery-ui

我能够阻止可排序列表获取超过所需数量的元素(在此示例中为1)。

receive: function(event, ui) {
    if ($(this).children().length > 1) {
        $(ui.sender).sortable('cancel');
    }
}

但是当您将项目拖到已经完整的列表上时,占位符就会显示为您可以将另一个项目放入列表中。 (它可以出现在当前列表项的上方和下方)。

如何在列表填满后阻止占位符出现?

1 个答案:

答案 0 :(得分:1)

您需要添加以下内容:

over: function(event, ui) {
    if ($(this).children().length > 1) {
        $(ui.placeholder).css('display', 'none');
    } else {
        $(ui.placeholder).css('display', '');
    }
}

beforeStop: function(event, ui) {
    cancelRequired = ($(this).children().length > 1);
},

stop: function() {
    if (cancelRequired) {
        $(this).sortable('cancel');
    }
}