Как можно убрать :hover у элемента через JS или CSS?
У меня есть кнопка, у которой есть :hover со сменой цветов. Когда кнопка недоступна через атрибуты disable нужно сделать чтобы :hover эффекта не было
Я пробовал через
cursor: none
Но :hover всё равно срабатывал
Ответы (3 шт):
Автор решения: Maxim Kuskov
→ Ссылка
Примените два класса к соответствующему элементу. Один содержит поведение при наведении, а другой содержит все остальные стили.
Вот метод, позволяющий удалить класс с поведением при наведении реализованный на jQuery:
$(element).removeClass('hover');
Вот реализация этих же действий на нативном JS:
element.classList.remove('hover'); //element это уже полученный узел DOM
Автор решения: Pavel Grishaev
→ Ссылка
Для этого есть псевдокласс :not() :
button:not([disabled]):hover {
color: red;
}
<button>Кнопка</button> <button disabled>Кнопка не доступная</button>
Автор решения: Lev Shportak
→ Ссылка
Несколько проще и быстрее будет через CSS таким образом, при наведение на все элементы которые не disabled будет срабатывать cursor: pointer
.btn:not([disabled]):hover{
cursor: pointer
}