2

在淘汰赛js中使用可排序时,有没有办法禁用拖放。我有一个正方形网格,里面有 5*5 个正方形。我想禁用某些方块的拖放功能,而不是全部。这怎么做?任何建议..

4

1 回答 1

6

在演示页面上可排序的 jQuery UI 中对此提供了支持 。

您只需要为您的不可排序项目添加一个特殊类(例如使用css绑定),然后您需要使用取消选项,您可以在其中设置此不可排序类名称。

您可以使用参数指定sortable绑定选项options

data-bind="sortable: {data: items, options: { cancel: '.no-sort' }}"

一个简单的演示 HTML:

<ul data-bind="sortable: {data: items, options: { cancel: '.no-sort'}}">
    <li data-bind="text: name, css: { 'no-sort': disabled}"></li>
</ul>

和 JS:

var vm = {
    items: [
        {name: 'name1', disabled: false},
        {name: 'name2', disabled: false},
        {name: 'name3', disabled: true},
        {name: 'name4', disabled: false},
        {name: 'name5', disabled: true}
    ]
}

ko.applyBindings(vm);

演示JSFiddle。

于 2013-03-06T12:08:29.153 回答