knockout-sortable禁用项目作为放置目标

时间:2018-03-13 18:52:35

标签: knockout.js jquery-ui-sortable knockout-sortable

我的问题与此问题非常相似:disabling individual items in knockout-sortable

但是接受的答案会将该项目保留为放置目标。 (该项目本身不可拖动,但您可以将项目放在其上)。我想知道是否有一个完全禁用该项目的好方法。 jQuery建议不要在第一时间启用它:(http://jqueryui.com/sortable/#items

    $( "#sortable1" ).sortable({
        items: "li:not(.ui-state-disabled)"
    });

但我不确定如何将这种逻辑用于" sortable"结合。

由于这只适用于列表开头或结尾的项目,因此我可能会将它们与" sortable"分开添加。绑定。但是,如果有一种优雅的方式来做到这一点,我会更好。我有一种感觉,我错过了一个明显的方法,内置于淘汰赛可排序的插件。

1 个答案:

答案 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)";