@alexandr_ftf

Почему не сразу срабатывает изменение hover?

Всех приветствую.
Суть такая. После клика на кнопке у неё посредством jquery изменяется hover свойство. Но изменение начинает работать только после того, как я отведу мышку от самой кнопки. А непосредственно после момента нажатия hover (подсветка) неизменен. Как это исправить?

Изменяю так:
$(this).hover(function(){
         $(this).css("box-shadow", "none")
})
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
dantothefuture
@dantothefuture
You sleep, she sleeps, they sleep, I... don't.
Метод .hover() регистрирует обработчик для событий mouseenter и mouseleave. Поскольку курсор в это время уже находится над элементом, в следующий раз ваша функция будет вызвана только по событию mouseleave – как раз тогда, когда вы отведете курсор с кнопки.

Создайте CSS класс и добавляйте его по клику.

.flat:hover {
  box-shadow: none;
}


// В обработчике нажатия
$(this).addClass('flat')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alexandr_ftf Автор вопроса
Не работает. Инспектор показывает, что класс присваивается только при отведении курсора.
Ответ написан
Ваш ответ на вопрос

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

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