Вам не нужно вручную присоединяться к HTML.
Вы связываете событие с элементом, затем берете HTML-код этого элемента и просто объединяете его в строку, которая затем, в свою очередь, вставляется в DOM как новые элементы, когда вы append
добавляете к # сообщениям. 1004 *
items
здесь не определено, но я собираюсь выйти на конечность и предположить, что это массив сгенерированных <section>
s и т. Д.
Если это так, я мог бы упустить что-то, что вы пытаетесь сделать здесь, но, похоже, вы можете просто исключить всю конкатенацию HTML и просто добавить массив items, который сохранит событие привязанного клика.
// Push the element, don't stringify it.
items.push(section);
// Then simply append the "items" elements.
$('#posts').empty().append(items);
Конечно, live
, вероятно, также решит проблему, но вы, безусловно, можете связать события с сгенерированными элементами, а затем вставить их в DOM. Чего вы не можете сделать, так это связать событие с элементом, затем распечатать его HTML и вставить его в DOM. Любая привязка, которую вы сделали с оригинальным элементом, потеряна.