@ymfront

Как кликнуть по любому элементу и добавить класс?

Нужно кликнуть на любой элемент страницы и добавить ему класс .active. При втором нажатии на элемент нужно удалить класс. И если какой-то элемент уже имеет класс .active, то при клике на любой элемент класс .active добавлять не нужно.

Пытаюсь сделать так, но класс добавляется и элементу, и всем его родителям:

$("*").click(function(){
    $(this).toggleClass("active");
});
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Читайте про всплытие событий, разницу между event.target и event.currentTarget и метод preventDefault.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!
this в вашем случае не поможет, нужно использовать: event.target:

$("*").click((event) => {
   $(event.target).toggleClass("active");
});


Думаю данный код поможет вам.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
21 нояб. 2024, в 19:31
500 руб./за проект
21 нояб. 2024, в 19:28
200000 руб./за проект