Задать вопрос
@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), то обработчик не срабатывает.
  • Вопрос задан
  • 2239 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
mrRontgen
@mrRontgen
Scala lover.
Может так
$("html").on('click',"body", function (event) {
            event.stopPropagation();
            if ($(event.target).closest('.active').length) return;
            $('.active').removeClass('active');
        })
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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