0

3400 を超えるアイテムを含む非常に長いページを扱っています。これらの各アイテムには 3 つのボタンを持つフォームがあり、各フォームには jQuery $.on() クリック イベントが関連付けられています。これが IE7 ドキュメント モードの IE8 での問題 (ホバーへの応答が遅い、ページのレンダリングに時間がかかる) の原因であると考えています。$('button') を選択すると、10,000 個を超える要素が取得されます。

このページは、約 6 レベルの深さの JSON オブジェクトから高速な DoT.js テンプレート ライブラリを使用してレンダリングされています。

私の問題は何ですか?

4

3 に答える 3

1

問題が多数のイベント ハンドラーである場合、イベント デリゲーションでそれを修正するのは簡単です。

DOM 要素の構造については触れていませんが、例として、現在イベント ハンドラーを次のようにアタッチしているとします。

$('.myform').on( 'click', function() { /*...*/ } );

myform各フォームのクラス名はどこにありますか。

これらのフォームが id="formparent" で親要素にネストされているとします。コードを次のように変更するだけです。

$('#formparent').on( 'click', '.myform', function() { /*...*/ } );

それは本当に簡単です。

コードの一部を投稿すると、誰かがより具体的な提案をすることができます。

于 2013-04-19T19:27:08.490 に答える