【问题标题】:How to disable hover state of button on mobile?如何禁用手机上按钮的悬停状态?
【发布时间】:2012-12-26 17:26:00
【问题描述】:

我有一个带有“关注”的“关注”按钮,单击该按钮会更改一个类,并且可见的文本是“关注”。悬停时,此更改为“取消关注”。

工作得很好。在移动(电话)上,单击它似乎会将其锁定为“悬停”状态。结果,它完全绕过了“关注”并显示“取消关注”。如果我点击屏幕上的其他位置,它会自行“修复”。

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

【问题讨论】:

  • 也可能是 a:active 类或 a:selected

标签: css


【解决方案1】:

您可以在 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 访问。

【讨论】:

  • 是的,这行不通,因为我没有“hoverclass”——它只是基于 a:hover 的样式。点击按钮会导致鼠标悬停在移动设备上...
  • 我所说的是在你的 CSS 样式表中,添加一个名为 hoverClass 的类声明或任何你想要的,并使该类与 a:hover 声明相匹配。然后 touchstart/touchend 将匹配您的 CSS 在桌面上执行的操作。
  • 这个问题的答案 (stackoverflow.com/questions/2290829/…) 正是您正在寻找的。​​span>
猜你喜欢
  • 2014-09-16
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
相关资源
最近更新 更多