Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 18.09.2018, 22:38   #11
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 378
Репутация: 15
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Это jQuery. Он подключен?
Да, естественно.... Вы же видите что ul добавляется?..
Женя32 вне форума   Ответить с цитированием
Старый 18.09.2018, 23:47   #12
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,603
Репутация: 5352
По умолчанию

Код:

$("#myD").on("click", ".genli",function(e) {
   $('#myD > ul').append('<li>aaaaa</li>');
});

почему - например, на стековерфлоу - ТЫЦ

Цитата:
для динамических элементов используется делегированная обработка собятий, и схематически это выглядит так:

Код:

$('parent_static').on('event', 'children_dinamic', handler);

Где parent_static - это статичный родительский элемент (лучше ближайший, но подойдёт и body), event - событие, children_dinamic - дочерний динамический элемент, на котором обработчик и должен сработать. При этом указатель this или объект jQuery $(this) в обработчике - имено дочерний динамический элемент.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 19.09.2018, 11:02   #13
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 378
Репутация: 15
По умолчанию

Теперь вернемся к теме "Как отследить динамическое добавление элемента в div, ul и т.п.?".
Я вот так сделал, но, почему-то не реагирует на событие добавления ul и li...:
Код:

$("#genul").click(function() {
  $('#myD').append('<ul><li>Это наш текст, который при определенных условиях отобразится в блоке</li></ul><br /><a class="genli">Добавить элемент список - li</a>');
  $("#genul").remove();
});
$("#myD").on("click", ".genli",function(e) {
 $('#myD > ul').append('<li>Это наш текст, который при определенных условиях отобразится в элементи li</li>');
});

      var target = document.querySelector("#myD > ul");
         var observer = new MutationObserver(function(mutations) { 
                      mutations.forEach(function(mutation) {
                               alert("Сработало!");
                           });
                   });
                var config = { attributes: true, childList: true, characterData: true };

https://jsfiddle.net/x597jqu1/82/
Женя32 вне форума   Ответить с цитированием
Старый 19.09.2018, 11:51   #14
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,353
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

А теперь вернемся к
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы за целый день так и не смогли добавить
Код:

console.log(target);

?
Alex11223 на форуме   Ответить с цитированием
Старый 19.09.2018, 12:09   #15
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,603
Репутация: 5352
По умолчанию

я никогда не пользовался MutationObserver (нет пока необходимости и желания изучать), но
Цитата:
Сообщение от Женя32 Посмотреть сообщение
Код:

var target = document.querySelector("#myD > ul");

это нормально, что переменная target после получения далее негде не используется?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 19.09.2018, 13:37   #16
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 378
Репутация: 15
По умолчанию

Про "наблюдателя" забыл....
Вот поставил, но ничего не "ловит".
Код:

observer.observe(target, config);

https://jsfiddle.net/x597jqu1/89/
Женя32 вне форума   Ответить с цитированием
Старый 19.09.2018, 13:46   #17
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,353
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Сообщение выше так и не осилили?
Alex11223 на форуме   Ответить с цитированием
Старый 19.09.2018, 13:57   #18
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 378
Репутация: 15
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Сообщение выше так и не осилили?
Какое?
Женя32 вне форума   Ответить с цитированием
Старый 19.09.2018, 14:29   #19
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,707
Репутация: 2205
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Какое?
target у тебя undefined, потому что айдишники отличаются.
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587
Naive вне форума   Ответить с цитированием
Старый 19.09.2018, 14:38   #20
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,353
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Это
↓↓↓
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А теперь вернемся к
Вы за целый день так и не смогли добавить
Код:

console.log(target);

?
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено]: Как прикрепить вложенный div к верху родительского элемента div? Женя32 HTML и CSS 2 29.09.2016 14:24
Javascript добавление div элемента 803 JavaScript, Ajax 2 10.04.2013 22:54
QListWidget как реагировать на добавление элемента Farrel Qt и кроссплатформенное программирование С/С++ 3 20.04.2011 23:33
Ширина div элемента Maycal HTML и CSS 3 09.03.2011 12:46


10:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru