Я вижу, что обработчики событий, зарегистрированные через .on()
, хранятся в $.cache
.
Я также вижу, что обработчики событий также хранятся в $(elem).data()
.
Объекты, находящиеся в $.cache
, относятся к узлам DOM, на которых регистрируются события. Это приводит к утечке памяти при отсоединении узлов DOM, что делает обязательными .off()
.
У меня есть ситуация, когда я не знаю, когда DOM node (к которому я привязал обработчик события) отделяется. Хотя я могу хранить ссылку на этот DOM node в своем коде и вызывать .off()
для очистки, это не кажется приятным, потому что не просто знать, когда DOM node удаляется.
Каков наилучший способ сделать это?