Javascript.RU

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

on и live в jQuery 1.10.2
Как в 1.10.2 обращаться к новосозданным элементам. Которые создавались при помощи:

$('#ids').append('<div class="sel_option" value="'+i+'">'+i+'</div>');

Как клик ловить?
Или как правильно создавать элементы к которым можно было бы обращаться...
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2013, 18:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var option = $('<div/>', {'class': 'sel_option', text: i});
option.click(function(){ .. });
$('#ids').append(option);

Хотя тут скорее делегирование подойдет:
$('#ids').on('click', '.sel_option', function() {..})
    .append(option);
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2013, 18:48
Новичок на форуме
Отправить личное сообщение для TheNiceBluff Посмотреть профиль Найти все сообщения от TheNiceBluff
 
Регистрация: 26.09.2013
Сообщений: 3

Да нее... не то немного... с уже посоздавал элементы при помощи JQuery...

Теперь к ним надо обратится уже при новом клике по ним же...
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2013, 18:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$(родитель).children().click(function(){..})

или делегирование.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 26.09.2013, 18:57
Новичок на форуме
Отправить личное сообщение для TheNiceBluff Посмотреть профиль Найти все сообщения от TheNiceBluff
 
Регистрация: 26.09.2013
Сообщений: 3

http://jsfiddle.net/n3K2U/

Вот смотрите...
Выбираем сначала год, потом месяц. И потом появляется количество дней. И собственно это количество дней создается через $('#ids').append('<div class="sel_option" value="'+i+'">'+i+'</div>');

Так вот как чтобы потом клик работал по ним.

Понимаю что можно в 1.8.2 перейти назад и там всё работает без проблем. Но надо это реализовать именно на 1.10
Ответить с цитированием
  #6 (permalink)  
Старый 27.09.2013, 13:19
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 110

TheNiceBluff
1. Поправил Ваш jsFiddle. Добавил эти строки:
// выбираем день
$('.sel_day').on('click', '.sel_option', function(){
	$('.sel_day .selected-text').html($(this).html());
});

2. Не используйте в элементах div атрибут value. Для хранения скрытых данных лучше использовать атрибут data.
// устанавливаем значение data
$('div').attr('data', 'значение');
// получаем значение data
$('div').attr('data');

3. Обработчик .live() добавлен в версии 1.3, удалён в версии 1.9. Поэтому в 1.10.2 нужно использовать .on()

Последний раз редактировалось mi.rafaylik, 27.09.2013 в 17:56.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery события on и live Esigns Общие вопросы Javascript 4 12.08.2013 14:30
live search jquery tadjik1 jQuery 3 09.04.2012 17:28
jQuery live функция immeasurability jQuery 1 16.05.2011 10:15
Live со всеми функциями JQuery biohazardo jQuery 7 15.04.2011 11:36
jquery и live herba jQuery 2 19.06.2010 13:00