如何用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的各种情况。