on и live в jQuery 1.10.2
Как в 1.10.2 обращаться к новосозданным элементам. Которые создавались при помощи:
$('#ids').append('<div class="sel_option" value="'+i+'">'+i+'</div>'); Как клик ловить? Или как правильно создавать элементы к которым можно было бы обращаться... |
var option = $('<div/>', {'class': 'sel_option', text: i}); option.click(function(){ .. }); $('#ids').append(option); Хотя тут скорее делегирование подойдет: $('#ids').on('click', '.sel_option', function() {..}) .append(option); |
Да нее... не то немного... с уже посоздавал элементы при помощи JQuery...
Теперь к ним надо обратится уже при новом клике по ним же... |
$(родитель).children().click(function(){..}) или делегирование. |
http://jsfiddle.net/n3K2U/
Вот смотрите... Выбираем сначала год, потом месяц. И потом появляется количество дней. И собственно это количество дней создается через $('#ids').append('<div class="sel_option" value="'+i+'">'+i+'</div>'); Так вот как чтобы потом клик работал по ним. Понимаю что можно в 1.8.2 перейти назад и там всё работает без проблем. Но надо это реализовать именно на 1.10 |
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() |
Часовой пояс GMT +3, время: 01:50. |