@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), то обработчик не срабатывает.
  • Вопрос задан
  • 2237 просмотров
Решения вопроса 1
mrRontgen
@mrRontgen
Scala lover.
Может так
$("html").on('click',"body", function (event) {
            event.stopPropagation();
            if ($(event.target).closest('.active').length) return;
            $('.active').removeClass('active');
        })
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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