Учитывая следующий код
<div id="app">
<div id="foo" />
</div>
<script>
$('#foo').bind('click', function(){});
</script>
Я планирую заменить содержимое #app [например. $('#app').html('...');
, или innerHTML = '...';
]. Я знаю, что я могу использовать jQuery .remove()
, который вызывает обработчик 'destroy'
, который отвязывает события. Тот факт, что есть обработчик destroy
, настроенный для удаления событий, приводит меня к мысли, что без открепления событий, когда элемент DOM будет удален, обработчик все еще будет существовать в памяти.
Итак, если элемент DOM #foo
больше не существует, исчезает ли обработчик или он теряется в памяти браузера?