jQuery обработка данных, подгруженных AJAX запросом

программирование php JavaScript jQuery AJAX

Как обрабатывать данные, которые были подгружены ajax запросом jQuery?
Пример: $("a").click(function(){ ... делаем что-то, если был клик по любой ссылке
Но если кликнуть ссылку, которая была подгружена ajax запросом - jQuery не срабатывает, так как, видимо, он не знает о ней.
Как при получении данных по AJAX записывать их в память для jQuery?

Примечание:
1. $(selector).live("click", function(){
2. $(document).on("click","#date", function(){ alert("Goodbye!"); });

hedint, Вы не правы, конструкция ниже прекрасно работает ДО тега <body>:

$(function(){
$("body").on("click", "a", function(){
...
})
});
Ответы:
Ну логично же, что обработчик, заданный ДО появления элементов, не может работать на те элементы, которых нет. он "вешается" в момент исполнения.
Тут есть 2 пути:
1. проще для понимания: после обновления html заново вешать события. Можно завести для этого отдельную функцию, и вызывать ее после обновления вашего html.
2. посложнее, называется "делегирование". у вас есть общий контейнер, событие вешается на него, а внутри по event.target мы можем узнать дочерний элемент, на котором сработало событие.
Прочитайте, что делает ваша первая же строчка. :)
$(function() ...
аналогично:
$(document).ready()
Другими словами, Ожидается полная загрузка страницы. На этот момент тэг body уже существует.
необходимо использовать  метод  .on()
Вот пример:
 БЫЛО http://jsbin.com/isayat/2/edit
 СТАЛО http://jsbin.com/isayat/3/edit


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.