取消触摸设备上的模拟悬停事件/颜色

Cancel emulated hover event/color on touch device?

本文关键字:悬停 事件 颜色 模拟 触摸 取消      更新时间:2023-09-26

给定此设置

a { color: #ccc; }
a:hover { color: #fff; }
<a href="#" id="abc">Test</a>
$('#abc').click(function() {
    doSomething();
    return false;
});

一切都按预期"工作",但"测试"在手机/平板电脑上留下白色文本,因为 iOS 现在将其视为悬停。我该怎么做才能"重置"它?

将焦点移动到另一个元素,悬停样式将重置。 例如,尝试创建另一个链接,假设您称它们为"link1"和"link2":当您单击链接 1 时,它会变成白色。然后您单击链接 2:链接 2 变为白色,链接 1 将恢复其#ccc颜色。

看到这个小提琴(我刚刚在我的iPad上尝试过):

http://jsfiddle.net/uuFxR/

如果要以编程方式执行此操作,则必须使用.focus() JQuery 方法,请参阅此处:

http://api.jquery.com/focus/