@VPank
Бессмертие ради знаний. Знания ради бессмертия.

Как повесить событие на новосозданный класс?

Суть такова. Есть элемент с классом скажем "first_class" c помощью события $(".first_class").click и функции .addclass я добавляю к нему класс "second_class" и удаляю существующий "first_class". Но событие $(".second_class").click не срабатывает. Я так понимаю Dom это из-за того, что он реагирует только на изначально созданное Dom дерево при загрузке страницы. Как решить данную проблему?
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
AppFA
@AppFA
Frontend developer at Yandex
Можете делегировать события, тогда при клике на документ будет проверяться селектор по которому был клик, на jQuery выглядит как-то так:
$(document).on('click', '.second_class', function () {
    //...
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Вы добавляете элементу новый класс, но не вешаете, на этот элемент, новое событие. Во вторых, если элемент не пересоздается в DOM, то надо переопределить элементу новое собитие по клику.
$(".first_class").click(function() {
  $(this).addClass('second_class');
  $(this).removeClass('first_class');
  $(this).click(function() {
     // do smth
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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