2016-10-27 10 views
1

私はボタンの数が多い(シングルクリックイベントで3000)、ネストされたアコーディオンを持つブートストラップアコーディオンを備えたシングルページアプリケーションを持っています。ページはほぼ1Mbのサイズにすることができます。JavaScriptの巨大なページ

私の問題は、しばしばブラウザが応答しなくなり、クラッシュすることです。私はこの出来事の可能性を減らすためにできることがあるのか​​、それともデザイン全体を変えるべきか疑問に思ったのですか?

EDIT:たとえば 、私が使用しています:

$(".plus").click(function() { 
     add1($(this).closest("tr")); 
    }); 

は、私が使用する必要があります。その代わり

$(document.body).on("click", ".plus", add1($(this).closest("tr"))); 

おかげ

+0

サイトにリンクを追加できますか? – Adrianopolis

+0

jQueryを使用してクリックハンドラを追加していますか? –

+3

コンテンツがアコーデオンの内部にある場合は、展開/折りたたみ時にコンテンツを作成/破棄できます。ユーザーがそれを見ることができない場合、イベントを持つコントロールを持つことに意味はありません。 –

答えて

0

私は親にクリックイベントを委譲のアイデアを使用し、ボタンの数を考えると大幅に改善しているようです。しかし、主な問題は私のデザインのようだ。

Sabithpockerに感謝します。

また、表示されていないDOM要素のアタッチ/デタッチのオプションも試してみます。