【问题标题】:knockout-sortable disable item as drop target淘汰排序禁用项目作为放置目标
【发布时间】:2018-08-22 03:50:39
【问题描述】:

我的问题和这个很相似:disabling individual items in knockout-sortable

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

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

但我不确定如何将这种逻辑与“可排序”绑定一起使用。

由于这仅适用于列表开头或结尾的项目,因此我可以将它们与“可排序”绑定分开添加。但是,如果有一种稍微优雅的方法可以做到这一点,我会做得更好。我感觉我缺少一个内置于可淘汰排序插件的明显方法。

【问题讨论】:

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


    【解决方案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)";
    

    【讨论】:

    • 是的!由于我之前没有发布我的实际代码,因此我不得不对其进行一些更改。我将其简化为,其中 isDraggable 是我的 KO 项目的属性:&lt;div class="container" data-bind="sortable: { data: myItems, options: { items: '.draggableItem' } }"&gt; &lt;div data-bind="text: text, css: { draggableItem: isDraggable }"&gt; &lt;/div&gt; &lt;/div&gt;
    猜你喜欢
    • 2013-01-14
    • 2023-03-08
    • 2014-03-27
    • 2013-02-21
    • 1970-01-01
    • 2013-02-12
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多