我能够阻止可排序列表获取超过所需数量的元素(在此示例中为1)。
receive: function(event, ui) {
if ($(this).children().length > 1) {
$(ui.sender).sortable('cancel');
}
}
但是当您将项目拖到已经完整的列表上时,占位符就会显示为您可以将另一个项目放入列表中。 (它可以出现在当前列表项的上方和下方)。
如何在列表填满后阻止占位符出现?
答案 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');
}
}