Сообщение от fe1ix
|
$("#posts").append("some_html" + data);
|
Вы наверно не понимаете что делает это код. Он очищает innerHTML элемента, что влечет за собой удаление всех элементов, естественно со всеми привязанными обработчиками, далее идет присвоение старого значение innerHTML + новая строка, что влечет за собой пересоздание всех элементов заново, уже конечно без каких либо обработчиков.
Решение:
1) Не использовать innerHTML, добавляя новые элементы через Element.prototype.appendChild , предварительно навешав нужные обработчики.
2) Навешивать обработчики не на посты, а на контейнер, и уже в обработчиках отслеживать целевой элемент события и в зависимости от него уже исполнять тот или иной код. Это называется делегирование событий (его поддержка уже встроена в jQuery)