移动触摸设备中,hover 会阻塞 click 触发?试了几个方法都不理想

我在做一个组件都时候,对一个元素同时用到了hover和click,但在调试触摸屏设备时,我点击(快速)时,是先出现hover效果,然后再次点击时才能触发click。
然后我试了三种方法:

1.设置cursor:pointer(没用)
2.<body ontouchstart=''>(出错)
3.overflow:auto(有用,但必须要触发overflow才有用)

求助大虾有没有更好的解决方法(需要同时保留hover和click),十分感谢?!
PS:整个框架组件都有采用hover,如果不用hover都话改动和耗时都会比较大,所以我在这儿请教下大虾们,有没有可以保留hover都方法来解决问题,十分感谢?!

阅读 6.2k
5 个回答

移动端没有鼠标,所以hover不是很好用,一般是用css active来代替hover

可不可以在点击之后1秒才出发hover事件

click 换成 touchend,或者找个 tap 插件换成 tap 事件

谢邀!
可以用媒体查询设置在768以上的css里面加hover样式
或者你用js判断设备类型,在pc端加一个类名,此类名加hover样式

双击事件。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题