如何删除:悬停状态而不使用额外的类

How to remove :hover state without using extra class?

本文关键字:状态 何删除 删除 悬停      更新时间:2023-09-26

我正在使用<button>标记,并在该buttonhovering上显示红色背景。但是,如何在不使用额外类的情况下删除:hover状态。

.hover(function() {
  $( this ).toggleClass( "active" )
}

这是来自jQuery的文档-http://api.jquery.com/hover/

如果你想有一份延迟的工作。。。你可以使用鼠标输入(如果你想要自定义的东西,可以离开)

.mouseenter(function() {
  $( this ).addClass( "active" )
}).delay(5000).removeClass( "active")

这应该有效。。。您可能需要使用自定义超时?延迟并不总是像我认为的那样,但我认为会的。

您可以从Javascript中更改该特定元素的css。否则,我只会使用一个额外的n类。。。

您可以简单地使用脚本将背景颜色设置为初始"after sometime"。由于注入的内联css比:hover伪选择器具有更高的特异性,因此它将不再工作。

既没有添加额外的类,也没有使用任何回调。

下面的超时仅用于演示目的

setTimeout(function() {
  alert("after sometime!");
  $("div").css("background-color", "initial");
}, 4000);
div {
  width: 100px;
  height: 100px;
  border: 1px solid;
}
div:hover {
  background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>