Не устанавливайте события напрямую, используя click
.Вместо этого используйте live
.
$('div.number').live('click', function() { .. });
Когда загружается новый контент AJAX, новый контент заменяет старый, а также уничтожает все обработчики событий, ранее прикрепленные к этому замененному контенту, используя bind
или его ярлыки, такие как click
, change
и т. Д.
С другой стороны, в документ добавляются обработчики живых событий, и из-за пузыря событий в DOM все событияв конечном итоге доходят до документа (который вы никогда не заменяете или в идеале никогда не должны заменять :), так что вы можете думать о document
как о безопасном убежище для добавления событий.
Также извлекайте delegate
- это еще один способ использовать всплывающее окно событий, особенно если вы помешаны на производительности.