Как реализовать функцию, которая запускается при сборке мусора в JavaScript-объекте? - PullRequest
3 голосов
/ 21 мая 2011

На самом деле, мусор собран, уничтожен или иным образом вылетел за пределы области видимости. Я хочу отменить привязку обработчиков событий к элементам, не принадлежащим к dom, когда объект, вызвавший метод bind, уничтожен.


РЕДАКТИРОВАТЬ: Я посмотрел на свой код еще и решил, что единственное место, где мне действительно нужно это, когда модуль, который содержит объект, больше не нужен. Обычно это происходит, когда пользователь загружает новое представление (это похоже на «переход на новую страницу», но в AJAX, верно?). Итак, я написал простой метод-оболочку для метода bind, который модифицирует функцию обратного вызова, чтобы дополнительно отсоединить обработчик для пользовательского события «viewchange». Затем я гарантирую, что «viewchange» фактически запускается при каждом изменении представления.

1 Ответ

3 голосов
/ 21 мая 2011

Это невозможно.Там нет никакого способа узнать, когда что-то было или будет собирать мусор.Лучше всего убедиться, что вы unbind произвели какие-либо события, прежде чем разрешить уничтожение объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...