2013-01-12 82 views
2

我有一个“关注”按钮,当点击时,更改一个类,可见文本是“关注”。悬停时,此更改为“取消关注”。如何禁用移动设备上按钮的悬停状态?

工作得很好。在手机(手机)上,点击它似乎将其锁定在“悬停”状态。因此,它完全绕过“关注”并显示“取消关注”。如果我点击屏幕上的其他地方,它会自行修复。

有什么办法可以自动实现这种情况吗? $('body').click()对我没有帮助...

+0

也可能是a:主动类或a:选中 – Zombiesplat

回答

0

你可以在jquery中使用touchstart/touchend事件。如果只使用CSS,我不知道解决方案,但除了悬停事件之外,还可以将常规函数绑定到touchstart/touchend事件,或者执行下面的操作。

$('.button').bind('touchstart',function(){ 
    $(this).addClass('hoverClass'); 
}); 
$('.button').bind('touchend',function(){ 
    $(this).removeClass('hoverClass'); 
}); 

这只是让你的“hoverClass”更改按钮,因为你需要通过CSS。我希望这很清楚。基本上,touchstart/touchend类似于悬停,但据我所知只能通过CSS访问。

+0

是的,这不起作用,因为我没有“悬停类” - 它只是基于:悬停的样式。点击按钮会导致在移动设备上悬停... – Kaitlyn2004

+0

我所说的是在你的CSS样式表中,添加一个名为hoverClass的类声明或任何你想要的,并使该类匹配a:hover声明。然后,touchstart/touchend将与您的CSS在桌面上悬停的情况相匹配。 – Leeish

+0

这个问题的答案(http://stackoverflow.com/questions/2290829/how-to-force-a-hover-state-with-jquery)正是你要找的。 – Leeish