1

次の構造の div がたくさんあります。

<div id="content">
  <span class="highlight">Hello1<span> 
  <span class="highlight">Hello2<span> 
  <span class="highlight">Hello1<span> 
  <span class="highlight">Hello2<span> 
  <span class="highlight">Hello1<span> 
  <span class="highlight">Hello2<span> 
</div>

highlight 小さな関数にマウス 3 イベントを追加し、div のいくつかのアクションで div コンテンツを変更して他のスパン タグを変更しているため、以前のマウス イベントは役に立たずメモリに残り、1000 付近のスパン タグが MB 増加するとブラウザのメモリが指数関数的に増加します。

スパン タグの以前のマウス イベントを新しい div コンテンツ スパン タグに再利用する方法はありますか?

4

1 に答える 1

2

$(document.body)たとえば、親コンテナからイベントを委任する必要があります

http://api.jquery.com/on/を参照

$(document.body).on('events list','selector',function(e) {
       //do stuff
       })
                .on('event list2','selector2',function(e) {
       //do stuff
       })
        //etc...

それらのイベントにバインドされたオブジェクトの数に関係なく、それ以上メモリを消費することはありません

于 2013-02-09T05:43:19.683 に答える