LINUX.ORG.RU

История изменений

Исправление border-radius, (текущая версия) :

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

Ты неправ. Если из дома удалить элемент, грохаются все его листенеры и собираются сборщиком мусора.

Если особо параноишь, можешь явно вызывать removeEventListener перед удалением.

Но я бы вообще лучше вешал обработчики на что-то заведомо неудаляемое, а срабатывание на конкретный селектор определял по таргету через .matches/.closest/.classList.contains в зависимости от ситуации. Ибо слишком много дом-листенеров - смерДь производительности.

Исправление border-radius, :

Нет, невозможна.

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

Ты неправ. Если из дома удалить элемент, грохаются все его листенеры и собираются сборщиком мусора.

Если особо параноишь, можешь явно вызывать removeEventListener перед удалением.

Но я бы вообще лучше вешал обработчики на что-то заведомо неудаляемое, а срабатывание на конкретный селектор определял через .matches/.closest/.classList.contains в зависимости от ситуации. Ибо слишком много дом-листенеров - смерДь производительности.

Исходная версия border-radius, :

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

Ты неправ. Если из дома удалить элемент, грохаются все его листенеры и собираются сборщиком мусора.

Если особо параноишь, можешь явно вызывать removeEventListener перед удалением.

Но я бы вообще лучше вешал обработчики на что-то заведомо неудаляемое, а срабатывание на конкретный селектор определял через matches/closest/classList.contains в зависимости от ситуации. Ибо слишком много дом-листенеров - смерДь производительности.