如何用jQuery强制hover状态?
请考虑这个CSS代码:
a { color: #ffcc00; } a:hover { color: #ccff00; }
这个HTML代码:
<a href="#" id="link">Link</a> <button id="btn">Click here</button>
最后,这个JS代码:
$("#btn").click(function() { $("#link").trigger("hover"); });
我想让我的链接使用它的伪类:hover当button被点击。 我试图触发像mousemove,mouseenter,hover等事件,但任何人的作品。 请注意,我想强制使用我的CSS伪类:hover规范,而不是使用像这样的东西:
$("#link").css("color", "ccff00");
有人知道我该怎么做? 万分感谢。
你将不得不使用一个类,但不要担心,这很简单。 首先,我们将分配您的:hover
规则,不仅适用于物理hover的链接,还适用于具有类名hovered
链接。
a:hover, a.hovered { color: #ccff00; }
接下来,当您点击#btn
,我们将在.hovered
上切换.hovered
类。
$("#btn").click(function() { $("#link").toggleClass("hovered"); });
如果链接已经有了类,它将被删除。 如果它没有这个类,它将被添加。
另外,你可以尝试触发一个鼠标hover。
$("#btn").click(function() { $("#link").trigger("mouseover"); });
不知道这是否适用于您的具体情况,但我已经成功触发mouseover而不是hover的各种情况。