原生JS移动端点击延迟问题

网上都说在移动端click事件会有300ms延迟,可我用苹果手机测试为什么click没有延迟,反而是touchstart有延迟?在谷歌浏览器上用手机模式测试click和touchstart都没有延迟。请问用什么办法使得touchstart在手机上没有延迟?

阅读 3.1k
3 个回答

请问你是怎么测得

进一步测试发现,如果回调函数包含alert语句,touchstart、touchmove、touchend都会延迟,把alert语句去掉就不会延迟,这是几个意思?

  • 300ms延时是浏览器在 检测是不是有双击操作引起的,如果300ms内没有双击,那么就响应点击操作;
  • fastclick就是一个减少300延时的库,可以了解一下。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏