我的问题与此问题非常相似:disabling individual items in knockout-sortable
但是接受的答案会将该项目保留为放置目标。 (该项目本身不可拖动,但您可以将项目放在其上)。我想知道是否有一个完全禁用该项目的好方法。 jQuery建议不要在第一时间启用它:(http://jqueryui.com/sortable/#items)
$( "#sortable1" ).sortable({
items: "li:not(.ui-state-disabled)"
});
但我不确定如何将这种逻辑用于" sortable"结合。
由于这只适用于列表开头或结尾的项目,因此我可能会将它们与" sortable"分开添加。绑定。但是,如果有一种优雅的方式来做到这一点,我会更好。我有一种感觉,我错过了一个明显的方法,内置于淘汰赛可排序的插件。
答案 0 :(得分:1)
根据你提到的答案,这是你想要实现的目标吗?
<div class="container" data-bind="sortable: { data: tasks, options: { items: 'li:not(.ui-state-disabled)' } }">
全局:
ko.bindingHandlers.sortable.options.cancel = "li:not(.ui-state-disabled)";