手机设备上touchstart与click的区别

本文深入探讨了click与touchstart事件的区别,特别是在移动设备上的表现。click事件由于双击缩放延迟,通常会有约300ms的延迟,而touchstart事件则没有此问题。文章还提供了解决click延时问题的方法,通过模拟tap事件来优化用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基本定义

  • touchstart 手指触碰开始就能触发
  • click
    1.手指触碰
    2.手指未在屏幕上移动
    3.在这个dom上手指离开屏幕
    4.触摸和离开屏幕之间的时间间隔较短
    因此,click事件有其独特的地方,不能完全用touchstart替代。

2.click延时问题

因为手机浏览器上,两次轻触是放大操作,在第一次被轻触后,浏览器需要先等一段时间,检测是否有第二次连续触碰,才会触发click时间,click时间通常会延迟300ms左右。
解决方法:在touchstart和touchend时记录时间和手指位置,在touchend时进行比较,如果手指为同一位置且时间很短,且期间未触发touchmove时间,则可以认为触发click时间,即为tap事件



作者:星月西
链接:https://www.jianshu.com/p/ab1f57016f1b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/liaozhenghan/p/10159846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值