2012-06-21 2 views
0

Я работаю всего несколько дней с jQuery, поэтому вопрос может быть не очень интересным. У меня есть DIV перезагрузка на кнопку нажмите на ajax. DIV содержание сам регистрация нажмите обработчик для кнопка. Поэтому возникает вопрос: следует ли удалить обработчик, загруженный загруженным контентом?Должен ли я удалять обработчик при удалении элемента?

Я делаю небольшой эксперимент и, похоже, не должен. Но действительно ли это так?

+0

Если элементы удалены из DOM, и у вас нет дальнейших ссылок на них, обработчики событий в конечном итоге также будут собирать мусор. –

+0

@FelixKling, я плохо разбираюсь в js. Как выглядит ссылка в js? –

+0

Например, 'var someElement = document.getElementById ('someId')'. Даже если элемент удаляется процессом обновления, 'someElement' будет по-прежнему содержать ссылку на этот элемент и иметь доступ к связанным с ним данным. –

ответ

1

Если элементы удалены из DOM, и у вас нет дальнейших ссылок на них, обработчики событий в конечном итоге также будут собирать мусор.

Но если у вас есть ссылка, как

var someElement = document.getElementById('someId') 

тогда, даже если элемент будет удален вашим процессом обновления, someElement будет по-прежнему содержать ссылку на этот элемент. Это также означает, что обработчики событий все еще существуют в памяти.

Смежные вопросы