问题
In knockout-sortable, I know that you can disable a sortable list using isEnabled
in the sortable
binding. I also know you can disable moving items using cancelDrop
in a beforeMove
function. The problem is, isEnabled
disables the whole list, and cancelDrop
can only be called after the item is already dragged and dropped onto another sortable
.
Is there a way to disable sortable
's click/drag behavior on certain contained items?
回答1:
You can use the jQuery UI sortable options items
or cancel
for this purpose. Docs here: http://jqueryui.com/sortable/#items.
You would add them in a binding like:
<div class="container" data-bind="sortable: { data: tasks, options: { cancel: '.prevent' } }">
or globally like:
ko.bindingHandlers.sortable.options.cancel = ".prevent";
Sample here: http://jsfiddle.net/rniemeyer/2wEX3/
来源:https://stackoverflow.com/questions/14611775/disabling-individual-items-in-knockout-sortable