Jquery ui 在jQuery UI可排序之后,敲除foreach绑定不起作用

Jquery ui 在jQuery UI可排序之后,敲除foreach绑定不起作用,jquery-ui,knockout.js,jquery-ui-sortable,Jquery Ui,Knockout.js,Jquery Ui Sortable,我有一堆行,它们通过foreach绑定进行更新。我还有一个自定义的敲除绑定(基于jQueryUISortable),它允许通过拖放对这些行重新排序 <tbody data-bind="foreach: serviceTemplates, draggableList: null"> <tr>...</tr> </tbody> ko.bindingHandlers.draggableList = { init: function (eleme

我有一堆行,它们通过foreach绑定进行更新。我还有一个自定义的敲除绑定(基于jQueryUISortable),它允许通过拖放对这些行重新排序

<tbody data-bind="foreach: serviceTemplates, draggableList: null">
  <tr>...</tr>
</tbody>

ko.bindingHandlers.draggableList = {
  init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
    var panelList = $(element);
    panelList.sortable();
  }
};

...
ko.bindingHandlers.draggableList={
init:函数(元素、valueAccessor、allBindings、viewModel、bindingContext){
变量panelList=$(元素);
小组成员。可排序();
}
};
行可以被删除。只有在我不移动这一行的情况下,它才会起作用。我不明白为什么。jQueryUI是否在移动DOM元素时删除和添加它

试试看。您所要做的就是在项目中包含
knockout sortable.js
文件,并将
foreach
替换为
sortable

<tbody data-bind="sortable: serviceTemplates, draggableList: null">
    <tr>...</tr>
</tbody>

...

你应该使用该插件,而不是编写自己的插件……如果你还没有看到,这是一篇关于使用sortable with knockout的经典博文