1

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">

私の頭に浮かぶ可能なオプション。

  1. テーブル データ全体が読み込まれた後にカスタム バインドを適用しますか?? (しかし、どうすれば同じことができますか)

  2. 遅延更新プラグインも使用してみました

4

1 に答える 1