Удаляет ли Javascript обработчики событий удаленных элементов DOM? - PullRequest
20 голосов
/ 17 декабря 2011

Если я прикрепил несколько событий к некоторым элементам DOM - а затем удалил их - будет ли использоваться память, используемая для их обработчиков событий или других атрибутов?

Я спрашиваю, потому что хочу знать, хочу ли ябудет использовать кучу памяти, если я буду продолжать заполнять область страницы новыми элементами из запросов AJAX и привязывать к ним события - только для их удаления и повторения процесса при появлении нового результата AJAX.

1 Ответ

8 голосов
/ 18 декабря 2011

Да, современные браузеры (со временем) освобождают память, используемую обработчиками событий в узлах DOM. Однако старые версии Internet Explorer этого не делают, поэтому всегда рекомендуется удалять прослушиватели событий перед удалением узлов из DOM.

Это хорошая статья для понимания происходящего: http://msdn.microsoft.com/en-us/library/bb250448(v=vs.85).aspx

...