0

Chrome のレンダリング時間とイベント応答時間が遅すぎます。

約 5,000 ~ 10,000 行を含むサンプル html を作成しました。結果は次のとおりです。

5,000 行の場合、レンダリングには FireFox 5 が必要で、レンダリングには Chrome 11 が必要です。10,000 行の場合、FireFox 8s でレンダリングするのに、Chrome でレンダリングするのに 3.5 分かかります。

また、次のスクリプトでテストを行います。

$(window).load(function () {
    $("div.click-test").click(function () {
        $(this).text("clicked");
    });
});

5,000 行の場合、Firefox ではイベント クリックが中間的に応答しますが、Chrome では約 3 秒後に応答します。Chrome では 10,000 行あり、応答を待つのが辛抱強くありません

Chrome のレンダリング時間を改善するために HTML を再構築するのを手伝ってくれる人はいますか?

PS: サンプルはhttp://www.mediafire.com/?x2h0nsldo90m642からダウンロードできます。事前に感謝します

4

1 に答える 1

3
$(window).load(function () {
    // On every single element, add a click handler.
    $("div.click-test").click(function () {
        $(this).text("clicked");
    });
});

要素ごとに異なるイベント ハンドラーを追加しています。代わりにイベント委任を使用してください。これにより、1 つのイベント ハンドラーですべての要素を処理できます。

$('body').on('click', '.click-test', function() {
    $(this).text('clicked');
});

また、 などの遅いセレクターは避けてくださいdiv.click-test.click-testはるかに高速です。

于 2012-11-02T10:26:57.433 に答える