いくつかの要素を削除するために.remove()
を使用すると、jQueryでは要素に関連付けられたすべてのバインドされたイベントとjQueryデータが削除されます。.html()を使用して要素を削除すると、jQueryのイベントリスナーが自動的に削除されますか?
しかし、.html()
で要素を削除するとどうなりますか?
メモリリークを防ぐためにhtmlを変更する前に、すべての要素をバインド解除する必要がありますか?
いくつかの要素を削除するために.remove()
を使用すると、jQueryでは要素に関連付けられたすべてのバインドされたイベントとjQueryデータが削除されます。.html()を使用して要素を削除すると、jQueryのイベントリスナーが自動的に削除されますか?
しかし、.html()
で要素を削除するとどうなりますか?
メモリリークを防ぐためにhtmlを変更する前に、すべての要素をバインド解除する必要がありますか?
はい、削除されます。 jQueryは、削除された要素に関連するイベントなどをクリーンアップします。あなただけのビットを展開する$(ELM1).htmlを($ elm2.html())
ええ、html()
を使用しても削除されます。 jQuery source codeがそれを確認します。
ありがとうございましたAnurag、私はあなたが最初で、あなたの答えを証明していますが(+1)、kinghfbはより多くのポイントを必要としているので、私は彼の動機付けとして受け入れられたと答えます。ありがとう! – Enrique
問題ありません@Enrique :) – Anurag
いずれにせよ、ソースコードへのリンクであなたの答えを検証するためのSOのバッジがあります:) –