Knockout 3.0を使用して、テーブル データを Web ページにレンダリングしています。
約 200 行をテーブルにロードし、カスタム バインディング ハンドラーを使用して、テーブル列へのドラッグ アンド ドロップ機能を許可しています。
このテーブルは、データのツリー構造からデータを取得しています (トラバーサルのバインディングごとに複数)
問題は、Internet Explorer ではページの読み込みが非常に遅く、約 15 秒かかるのに対し、Firefox と Chrome は IE に比べて非常に高速 (約 3 秒) であることです。
コードを削除したところ、カスタム バインディングの 1 つ (ドロップ可能なもの) が問題を引き起こしていることがわかりました。
IE でこれのレンダリング速度を改善するにはどうすればよいですか。(6,7,8,9)?
ko.bindingHandlers.droppable = {
init: function (element) {
$(element).droppable({
hoverClass: "ui-state-active",
activeClass: "ui-state-hover",
accept: ".ui-draggable", // .selected
tolerance: "pointer",
drop: function (event, ui) {
var data = ko.dataFor(element);
// Gets dragged item and manipulates the data
}
});
}
};
そして、次のようなテーブル列で呼び出されます <td class="outerDroppable b" data=bind="droppable">
私の頭に浮かぶ可能なオプション。
テーブル データ全体が読み込まれた後にカスタム バインドを適用しますか?? (しかし、どうすれば同じことができますか)
遅延更新プラグインも使用してみました