отключение отдельных элементов в Knockout-sortable

В Knockout-sortable я знаю, что вы можете отключить сортируемый список, используя isEnabled в привязке sortable. Я также знаю, что вы можете отключить перемещение элементов, используя cancelDrop в функции beforeMove. Проблема в том, что isEnabled отключает весь список, а cancelDrop можно вызвать только после того, как элемент уже перетащен на другой sortable.

Есть ли способ отключить поведение щелчка/перетаскивания sortable на определенных содержащихся элементах?


person Ross    schedule 30.01.2013    source источник


Ответы (1)


Для этой цели вы можете использовать параметры сортировки пользовательского интерфейса jQuery items или cancel. Документы здесь: http://jqueryui.com/sortable/#items.

Вы бы добавили их в привязку, например:

<div class="container" data-bind="sortable: { data: tasks, options: { cancel: '.prevent' } }">

или глобально как:

ko.bindingHandlers.sortable.options.cancel = ".prevent";

Образец здесь: http://jsfiddle.net/rniemeyer/2wEX3/

person RP Niemeyer    schedule 30.01.2013
comment
О, чувак, это немного смущает. Я не слишком углублялся в параметры пользовательского интерфейса jQuery; Я знал, что пропустил что-то относительно очевидное. Это работает потрясающе! Спасибо РП! - person Ross; 31.01.2013