2011-10-25 41 views
0

我有一個列表根據用戶輸入的搜索詞進行更改。將jquery事件綁定到通過ajax加載的元素時的堆大小

該搜索框有一個jQuery的關鍵事件,並觸發ajax調用我的服務器,以獲得相關的搜索結果。數據以json的形式返回。然後我重建列表併爲新列表中的每個項目添加一個很大的onclick函數。

我擔心的是隨着越來越多的事件綁定到通過ajax添加的元素,使用的內存量將越來越大。

jquery/javascript會自動管理從dom中移除的元素(釋放內存)嗎?還是應該在構建新列表之前解除綁定列表項目上的所有事件?

謝謝!

+1

http://stackoverflow.com/questions/768621/how-to-dispose-of-dom-elements-in-javascript-to-avoid-memory-leaks/768671#768671 – Rafay

回答

0

你應該解除事件。如果你取消綁定它 - 它會去GC。如果你不行 - 它仍然有參考,以後需要通過GC檢查。

+0

如果我要使用$('.list-area')。empty()方法或$('.list-area')。children.remove()?會解決內存問題嗎? – nick

1

那麼unbinding不會從內存中刪除它的唯一的'remove'方法。

相關問題