イベントリスナーがテーブルの特定の列のすべてのセルにアタッチされ、次にすべての行がテーブルから削除される場合、メモリリークを回避するために、開発者は行が削除される前にイベントリスナーを削除する必要があります。ブラウザは物事をクリーンアップしますか?
編集:マイケルが提案した記事はevent delegation
、リスナーをテーブル内のすべてのセルに直接バインドするよりもパフォーマンスが優れていると述べていますが、ガベージコレクションの観点から優れているのか、それとも単にパフォーマンスが優れているのかはわかりません。コメントしてください。記事から:
$('table').on('click', 'td', function () {
$(this).toggleClass('active');
});
以下より優れていると言われています:
$('table td').on('click', function () {
$(this).toggleClass('active');
});
Edit2:および.on()とイベント委任のjQueryドキュメントもパフォーマンスに焦点を当てていますが、大きなテーブルから行が大量に繰り返し削除され、セルクリックが行われている場合、ガベージコレクションの観点から何が起こるかという問題があります。委任されたメカニズムによってリッスンされたままです。