2010-05-14 2 views
0

У меня есть интерфейс браузера с ул # контактов списка слева и сНу # контакта собственности панель (электронная почта, телефон) справа. Нажмите контакт в списке, и мое приложение делает запрос XHR, чтобы получить свойство HTML контакта и обновить div # contact.innerHTML.Удаление обработчиков событий DOM в долгоиграющих браузере

Каждый контактный фрагмент имеет ссылку «Изменить контакт». С JS я постепенно обновляю эту ссылку с помощью прослушивателя событий, который выполняет запрос XHR, чтобы заменить панель статического свойства формой редактирования на месте. Это может случиться много раз в течение одного сеанса браузера.

Как очистить прослушиватель событий «Редактировать контакт»? Должен ли я удалить его вручную до того, как форма перезапишет панель свойств? Или прослушиватель событий очищается автоматически, когда содержимое контакта div # (и узла, который я слушаю) перезаписывается?

FWIW, я по-прежнему считаю, что IE6 является частью моего целевого рынка.

ответ

2

Прежде всего, вам придется отключить слушателей, да. Тем не менее, самое простое - не привязываться непосредственно к ссылке, вместо этого используйте event delegation. Если вы используете jQuery, это делается еще проще с помощью метода live.

+0

'.live' - это путь. –

+0

Спасибо. Я использую YUI3, но у них есть аналогичный метод делегирования. http://stackoverflow.com/questions/1668804/what-is-a-good-yui-replacement-for-jquery-live –

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