私は、cancelDrop オプションを Knockout ソート可能バインディングで使用できるようにしようとしています。現在、デバッグのためだけに、すべての移動をキャンセルしようとしています。
これは私のマークアップです
<ol class="toc-child"
data-bind="sortable: {template: 'listTemplate', data:children, isEnabled: $root.allowEditing, beforeMove: beforeMove }"></ol>
これは私の beforeMove 関数です
this.beforeMove = function(arg, b, c){
//debugger;
arg.cancelDrop = true;
};
デバッガー ステートメントのコメントを外すと、関数がヒットし、cancelDrop プロパティが設定されていることがわかります。
if (arg.cancelDrop) {
$(ui.sender).sortable('cancel');
return;
}
必要に応じて実行します。しかし、動きはそのままです。
特に奇妙なのは、移動したアイテムが新しい場所に植えられた後に beforeMove 関数が呼び出されるように見えることです。その時点の前にこれが呼び出されることを期待する必要がありますか?