當元素被銷燬時事件會發生什麼?據我所知,jQuery仍然在其全局「存儲庫」中有事件。在我的情況下,很多元素的創建,與事件約束,並再次被破壞......元素被銷燬後會自動解除綁定嗎?
我需要害怕的過度使用之後,一些內存的問題?
當元素被銷燬時事件會發生什麼?據我所知,jQuery仍然在其全局「存儲庫」中有事件。在我的情況下,很多元素的創建,與事件約束,並再次被破壞......元素被銷燬後會自動解除綁定嗎?
我需要害怕的過度使用之後,一些內存的問題?
是。如果你有很多附加到HTML元素,那麼你應該明確地將其刪除的事件處理程序(通過使用像remove
或empty
,而不是如detach
或「常規」 JS jQuery的方法),要麼改變你的活動「結合」的策略。我的意思是利用jQuery事件的委派。通過這種方式,你可以找出一些共同的祖先到你的事件綁定元素集合,並將其綁定到事件上。經驗法則總是最小化事件處理程序的數量。
我很確定(但不確定)這是錯誤的。 – Dave
@Dave但是什麼?爲什麼?我當然不是絕對可靠的,但這就是我所知道的。如果你有反對意見的話,讓我聽聽 - 這是學習的唯一方法,對吧? – guessimtoolate
好吧,我指的是主要觀點:「你應該明確地刪除它們......」。我不認爲這是必要的。 https://github.com/jquery/jquery/blob/master/src/manipulation.js#L96這裏https://github.com/jquery/jquery/blob/master/src/manipulation:看到這裏的來源。 js#L465(由所有內容更改功能調用空) – Dave
如果刪除經由jQuery方法元件(例如,['卸下襬臂()'](http://api.jquery.com/remove/))它消除了相關聯的事件處理程序和(jQuery的)數據太。 – nnnnnn
非常有幫助,謝謝... – kraftwer1
順便說一下,它是否也爲子元素做? – kraftwer1