Новые элементы, добавленные в документ после привязки ваших событий, автоматически не получают эти обработчики событий. Один из способов исправить это - как говорит Джон Милликин - повторно привязать ваши события после создания новых элементов.
Другой стандартный способ - делегирование событий. Поскольку события проходят вверх и вниз по стеку через все их родительские элементы, вы можете привязать событие к элементу, который будет предком всех ваших целевых элементов.
Например, этот код jQuery будет работать (ваш синтаксис может отличаться для других библиотек JavaScript):
$(document).ready(function() {
$('body').click(function(event) {
if ($(event.target).is('.foo')) { // <- this is the magic
alert('Something of class foo was clicked.');
return false;
}
});
});
Теперь, когда вы щелкаете что-то класса foo, это событие будет запущено, если что-то промежуточное не перехватит событие и не отменит всплывание. На самом деле, событие вызывается при нажатии почти чего-либо - оператор if только отфильтровывает, какие события заслуживают предупреждения.