16

jQuery.remove()では、要素の削除に使用すると、要素に関連付けられているすべてのバインドされたイベントとjQueryデータが削除されます。

しかし、要素を「削除」するとどうなり.html()ますか?

メモリリークを回避するために、HTMLを変更する前にすべての要素のバインドを解除する必要がありますか?

4

3 に答える 3

16

はい、削除されます。jQueryは、削除された要素に関連するイベントなどをクリーンアップします。$(elm1).html($ elm2.html())のようなことをすると、イベントはコピーされません。

于 2011-09-25T23:06:21.807 に答える
13

ええ、使用しても削除されますhtml()。jQueryソースコードはそれを確認します。

于 2011-09-25T23:01:37.833 に答える
1

少し拡張するだけです:

  • .remove()、、、.html()など.empty()-すべてリスナーを削除します
  • .detach() リスナーを削除しません
  • .clone()データ/リスナーをコピーするかどうかを決定するためのパラメータがあります

したがって、リスナーを保持する場合は、を使用します.detach()

于 2016-08-12T02:02:02.300 に答える