首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用jQuery强制悬停状态?

如何使用jQuery强制悬停状态?
EN

Stack Overflow用户
提问于 2010-02-19 01:45:15
回答 3查看 134.5K关注 0票数 72

请考虑以下CSS代码:

代码语言:javascript
复制
a { color: #ffcc00; }
a:hover { color: #ccff00; }

这段HTML代码:

代码语言:javascript
复制
<a href="#" id="link">Link</a>
<button id="btn">Click here</button>

最后,这段JS代码:

代码语言:javascript
复制
$("#btn").click(function() {
   $("#link").trigger("hover");
});

我想让我的链接使用它的伪类:当按钮被点击时悬停。我试图触发鼠标移动、鼠标输入、悬停等事件,但任何人都可以工作。注意,我想强制使用my CSS伪类:hover规范,而不是使用如下内容:

代码语言:javascript
复制
$("#link").css("color", "ccff00");

有人知道我是怎么做的吗?非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-19 02:07:55

你将不得不使用一个类,但是不用担心,它很简单。首先,我们将分配您的:hover规则,使其不仅应用于物理悬停的链接,而且还应用于类名为hovered的链接。

代码语言:javascript
复制
a:hover, a.hovered { color: #ccff00; }

接下来,当您单击#btn时,我们将在#link上切换.hovered类。

代码语言:javascript
复制
$("#btn").click(function() {
   $("#link").toggleClass("hovered");
});

如果链接已经有这个类,它将被删除。如果它没有这个类,它将被添加。

票数 119
EN

Stack Overflow用户

发布于 2012-04-25 00:08:52

此外,您还可以尝试触发鼠标悬停。

代码语言:javascript
复制
$("#btn").click(function() {
   $("#link").trigger("mouseover");
});

不确定这是否适用于您的特定场景,但我在各种情况下成功地触发了鼠标悬停而不是鼠标悬停。

票数 34
EN

Stack Overflow用户

发布于 2018-08-17 02:40:15

我认为我遇到的最好的解决方案是在这个stackoverflow上。这段简短的jQuery代码允许在点击或触摸时显示所有的悬停效果。

不需要在函数中添加任何内容。

代码语言:javascript
复制
$('body').on('touchstart', function() {});

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2290829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档