Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.07.2009, 00:08
Новичок на форуме
Отправить личное сообщение для SOTON Посмотреть профиль Найти все сообщения от SOTON
 
Регистрация: 11.07.2009
Сообщений: 7

Ссалки после Ajax-запроса
Доброго времени суток!

Возникла ситуация. Добавляю переданный контент, например:
<a href="#" id="id_1">Link_1</a>
А в скрипте уже прописано:
$("#id_1").click(function(){
alert("link_1 нажата");
});

Теперь при нажатии на ссылку, js не действует. Как-нибудь можно заставить его работать?
Ответить с цитированием
  #2 (permalink)  
Старый 12.07.2009, 01:12
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Добавлять обработчики события
$("#id_1").click(function(){
alert("link_1 нажата");
});

нужно каждый раз после добавления элемента
<a href="#" id="id_1">Link_1</a>

на страницу
Ответить с цитированием
  #3 (permalink)  
Старый 12.07.2009, 01:25
Новичок на форуме
Отправить личное сообщение для SOTON Посмотреть профиль Найти все сообщения от SOTON
 
Регистрация: 11.07.2009
Сообщений: 7

Как добавлять обработчик после добавления элемента? Что-то не понимаю.
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2009, 01:27
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Вы ссылку
<a href="#" id="id_1">Link_1</a>

динамически добавляете? Если так, то вызывайте
$("#id_1").click(function(){
alert("link_1 нажата");
});

после добавления.

Есть еще вариант использовать метод live.
Ответить с цитированием
  #5 (permalink)  
Старый 12.07.2009, 01:43
Новичок на форуме
Отправить личное сообщение для SOTON Посмотреть профиль Найти все сообщения от SOTON
 
Регистрация: 11.07.2009
Сообщений: 7

Правильно понимаю, что примерно так:
$.post(
  'ajaxtest.php',
  {
    param: "param",
  },
  onAjaxSuccess
);
function onAjaxSuccess(data)
{
   $("#content").html(data);
   $("#id_1").click(function(){
      alert("link_1 нажата");
   });
}
,
где передается data='<a href="#" id="id_1">Link_1</a>'?
Ответить с цитированием
  #6 (permalink)  
Старый 12.07.2009, 01:44
Новичок на форуме
Отправить личное сообщение для SOTON Посмотреть профиль Найти все сообщения от SOTON
 
Регистрация: 11.07.2009
Сообщений: 7

Сообщение от Octane Посмотреть сообщение
Есть еще вариант использовать метод live.
Можно ссылочку по теме?
Ответить с цитированием
  #7 (permalink)  
Старый 12.07.2009, 01:49
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от SOTON
Правильно понимаю, что примерно так:
Да

Сообщение от SOTON
Можно ссылочку по теме
В документации к jQuery все же есть Events/live.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Проблема с AJAX запросом + mod_rewrite BrokenEye AJAX и COMET 1 12.07.2009 02:08
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
Не срабатывает bind(и click) после load (или get) dijah jQuery 3 27.01.2009 20:05
Восстановление работоспособности JavaScript после Exception в xhtml no_alex Events/DOM/Window 13 03.12.2008 13:47