1.基本定义
- touchstart 手指触碰开始就能触发
- click
1.手指触碰
2.手指未在屏幕上移动
3.在这个dom上手指离开屏幕
4.触摸和离开屏幕之间的时间间隔较短
因此,click事件有其独特的地方,不能完全用touchstart替代。
2.click延时问题
因为手机浏览器上,两次轻触是放大操作,在第一次被轻触后,浏览器需要先等一段时间,检测是否有第二次连续触碰,才会触发click时间,click时间通常会延迟300ms左右。
解决方法:在touchstart和touchend时记录时间和手指位置,在touchend时进行比较,如果手指为同一位置且时间很短,且期间未触发touchmove时间,则可以认为触发click时间,即为tap事件
网友评论