@LolaBola

Как добавить класс js?

Хочу что бы при нажатии на класс у другого класса убирался класс, но вся проблема в том, что в дереве html страницы класса ещё не существует, там контент аяксом загружается через несколько секунд и мой js код не работает.
То есть мой класс .open появляется позже, а скрипт о нем не знает как я понял, подскажите что нужно сделать, что бы скрипт о нем знал?

//Открыть попап
$(document).ready(function() {
    $(".open").click(function() {
            $("#my-popup").removeClass("hide")
        })
});
  • Вопрос задан
  • 1110 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Используйте всплытие событий. Вешайте обработчик на постоянно присутствующий родительский элемент.
Ответ написан
@metalezhig
Используй делегирование событий.
$(document).on("click", ".open", function() { ... })
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@shsv382
Переводишь аякс-запрос на промисы, потом await <нечто, что добавляет .open> и потом уже вешаешь на него обработчик
Ответ написан
Комментировать
@letchiknet
Попробуй так:

let interval;
        let intervalChecker = function () {
            if ($(".open").length > 0) {
                $(".open").click(function() {
                    $("#my-popup").removeClass("hide")
                });
                clearInterval(interval);
            }
        }
        interval = setInterval(intervalChecker, 10);
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы