Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 22:41   #1
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию События для объектов, добавленных скриптом

С помощью аякса загружаю на страницу код
Цитата:
<div id="5" class="fin">Австралия</div>
так:
Код:
$('#result').html(data);
В скрипте вызов события по клику на загруженном элементе.
Код:
$('.fin').click(function(){ 
	alert('02');
Собственно это событие не срабатывает. Почему? В js я не очень разбираюсь и не могу понять, может что-то нужно поменять?
Да, используется jquery
Упс...

Последний раз редактировалось L_M; 06.05.2010 в 22:55.
L_M вне форума Ответить с цитированием
Старый 12.05.2010, 02:49   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Назначать обработчики для событий в jquery можно с помощью функции bind. Только почему бы не передать через аякс html с уже установленным обработчиком?
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 12.05.2010, 05:00   #3
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Используйте live
Код:
$('.fin').live('click', function(){ 
	alert('02');
SkyM@n вне форума Ответить с цитированием
Старый 19.07.2010, 13:05   #4
eda
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 78
По умолчанию помогите, пожалуйста, разобраться с live

Я новичок. Помогите, пожалуйста, решить следующую проблему. из ajax я загружаю html-страницу с тремя элементами:
Код HTML:
<img id="del_<TMPL_VAR lang_id>" name="delete" src="/gui/images/button/deletesm.gif" border="0" width="16" height="16" align="middle" hspace="1" title="Delete this entry" alt=""/>
Соответственно, у всех этих элементов id разные.
Добавила обработчик событий:
Код:
$('img[name="delete"]').live("click", function(){
	alert($(this).attr('id'));
	return true;	
	});
Этот обработчик срабатывает три раза. Если я правильно понимаю, это происходит из-за того, что name одинаковый у этих трех элементов. Но по id я не могу вызвать обработчик, т.к. не знаю заранее <TMPL_VAR lang_id>. Как можно решить эту проблему?
eda вне форума Ответить с цитированием
Старый 19.07.2010, 14:23   #5
werewolf999
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 46
По умолчанию

а обработчик должен быть для каждого свой?
тогда желательно заключить каждое изображение в отдельный div с известным id и соответственно изменить селектор

Последний раз редактировалось werewolf999; 19.07.2010 в 14:25.
werewolf999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События для объектов динамических массивов Delphi7 Dalagardi Помощь студентам 7 24.03.2010 08:59
программа, перестраивающая график с учетом добавленных в таблицу новых данных beeline_007 Microsoft Office Excel 2 10.03.2010 12:40
События для DBGrid Максим_Леонидович Компоненты Delphi 1 08.08.2008 22:43
Код для события. Delphi 7. tlsol Компоненты Delphi 9 11.04.2008 15:02
События для DBGrid Repz БД в Delphi 3 11.08.2007 09:37