Почему моя функция jQuery для заполненных элементов jTemplates завершается с ошибкой?

#jquery #jtemplates

#jquery #jtemplates

Вопрос:

Я нашел эту ссылку для динамического заполнения некоторых данных с помощью jQuery, jTemplates и AJAX. Я использовал ее для составления списка всех категорий продуктов из базы данных.

Что я хочу, так это заполнить другой список, который показывает все товары внутри выбранной категории, используя тот же метод, описанный по ссылке выше.

Моя идея состоит в том, чтобы перечислить название каждой категории как отдельный якорь, поместить название категории в качестве 'id' атрибута и присвоить каждому один и тот же 'class' атрибут. Это позволило бы запустить .click() событие jQuery, которое могло бы вернуть название выбранной категории:

 $('.foo').click(function () {
    var target = $(this).attr("id");
    alert(target);
});
  

Проблема в том, что если я перечисляю названия категорий, используя jTemplates, событие не запускается. Событие срабатывает корректно для привязки, которая не была сгенерирована jTemplates.

Ответ №1:

Возможно, поскольку ссылки генерируются динамически, обработчик событий им не назначается. В этом случае вам нужно использовать:

 $('.foo').live('click', function () {
            var target = $(this).attr("id");
            alert(target);
        });