Механизм автоматического удаления обработчиков событий в современных браузерах работает следующим образом: браузер удаляет обработчики, как только объекты становятся недостижимы. 2 При этом параметры для удаления должны полностью совпадать с теми, которые использовались при установке обработчика. 3
Также для автоматического удаления после первого срабатывания можно использовать опцию once в методе addEventListener(). 13 Если установлено значение true, при первом вызове обработчик событий будет автоматически удалён. 3
Кроме того, фреймворки и библиотеки, например jQuery, убирают обработчики перед тем, как удалить сам узел, если для их создания использовался библиотечный API. 2 Это делается самими библиотеками и гарантирует отсутствие утечек, даже при работе с проблемными браузерами. 2