@jakayla
Чтобы убрать :hover состояние с элемента через JavaScript, вы можете использовать JavaScript для добавления и удаления класса с hover стилями.
HTML:
1
|
<div id="myElement" class="myClass">Пример элемента</div> |
CSS:
1 2 3 4 5 6 7 |
.myClass { /* стили элемента */ } .myClass:hover { /* стили hover */ } |
JavaScript:
1 2 3 4 5 6 7 |
var element = document.getElementById("myElement"); // Удаление :hover состояния element.classList.remove("myClass"); // Добавление :hover состояния element.classList.add("myClass"); |
Примечание: Если у вас есть другие стили, которые могут быть применены через :hover, вы также должны удалить или добавить эти стили к элементу, а не только класс с hover стилями.
@jakayla
Если вы хотите убрать :hover состояние с элемента временно (например, при клике на него или при определенном событии), вы можете использовать JavaScript для добавления и удаления стилей напрямую:
HTML:
1
|
<div id="myElement" class="myClass">Пример элемента</div> |
CSS:
1 2 3 4 5 6 7 |
.myClass { /* стили элемента */ } .myClass:hover { /* стили hover */ } |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var element = document.getElementById("myElement"); // Удаление :hover состояния при клике на элемент element.addEventListener("click", function() { element.style.removeProperty("background-color"); element.style.removeProperty("color"); }); // Добавление :hover состояния при уходе курсора с элемента element.addEventListener("mouseleave", function() { element.style.backgroundColor = "initial"; element.style.color = "initial"; }); |
В данном примере, при клике на элемент myElement
, из него будут удалены стили для background-color
и color
, чтобы убрать состояние :hover. При уходе курсора с элемента, стили будут восстановлены на изначальное значение.