Задать вопрос
@polnyj0

Как создать обработчик событий работающий с динамически добавляемыми элементами?

Здравствуйте. Возникла задача создать обработчик событий, который работает с динамически добавляемыми элементами. Специфика состоит в том, что обработчик вешается не на сами эти добавляемые элементы ( это бы решалось стандартным jQuery-вским $('.parent').on('click', '.children', function ()....). Но в функции обработчике этими элементами манипулируют.
Теперь конкретизирую. Имеем стандартный обработчик, который совершает какое-то действие (в данном случае удаляет класс active) при клике в любой части документа кроме интересующего элемента.
$(document).on('click', function (event) {
            event.stopPropagation();
            if ($(event.target).closest('.active').length) return;
            $('.active').removeClass('active');
        },

Если класс 'active' появляется у элемента присутствующего на странице с момента загрузки, приведенный выше обработчик его успешно удалит. Если же класс 'active' появится у элемента добавленного динамически (через JSON), то обработчик не срабатывает.
  • Вопрос задан
  • 2238 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
mrRontgen
@mrRontgen
Scala lover.
Может так
$("html").on('click',"body", function (event) {
            event.stopPropagation();
            if ($(event.target).closest('.active').length) return;
            $('.active').removeClass('active');
        })
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы