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