2015-11-12 29 views
0

我能夠阻止可排序列表獲取超過所需數量的元素(在本例中爲1)。jQuery Sortable - 當列表「完整」時,如何防止佔位符出現?

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

但是,當你對一個已經完整列表拖動一個項目,佔位符看起來好像你可以將其他項目到列表中。 (它可以出現在當前列表項的上方和下方)。

一旦列表已滿,我怎樣才能防止佔位符出現?

回答

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'); 
    } 
} 
相關問題