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