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

    Метод .hover() регистрирует обработчик для событий mouseenter и mouseleave. Поскольку курсор в это время уже находится над элементом, в следующий раз ваша функция будет вызвана только по событию mouseleave – как раз тогда, когда вы отведете курсор с кнопки.

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

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


    // В обработчике нажатия
    $(this).addClass('flat')
    Ответ написан
    Комментировать