在jQuery中,如果我們使用.remove()
來刪除某個元素,則刪除與元素相關的所有綁定事件和jQuery數據。當您使用.html()刪除元素時,jQuery中的事件偵聽器是否會自動刪除?
但是如果我們用.html()
「去除」元素會發生什麼?
爲了避免內存泄漏,我們是否需要在更改任何html之前解除所有元素的綁定?
在jQuery中,如果我們使用.remove()
來刪除某個元素,則刪除與元素相關的所有綁定事件和jQuery數據。當您使用.html()刪除元素時,jQuery中的事件偵聽器是否會自動刪除?
但是如果我們用.html()
「去除」元素會發生什麼?
爲了避免內存泄漏,我們是否需要在更改任何html之前解除所有元素的綁定?
是的,它們將被刪除。 jQuery將清理與被刪除元素相關的事件等。如果你這樣做$(elm1)的.html它會不會複製事件($ elm2.html())
是的,即使您使用html()
,它們也會被刪除。 jQuery source code證實了它。
非常感謝Anurag,我知道你是第一個,並且你正在證明你的答案(+1),但是kinghfb需要更多的分數,所以我會將他的答案標記爲激勵他,希望你能理解。謝謝 ! – Enrique
沒問題@Enrique :) – Anurag
無論如何,應該有一個SO徽章來驗證您的答案,並鏈接到源代碼:) –