84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
手机端事件触发过程touchstart>touchend>tap +300ms>click这个是移动端一次点击的流程吗?为什么zepto中有个延时250呢?
//zepto中的代码 touchTimeout = setTimeout(function(){ touchTimeout = null if (touch.el) touch.el.trigger('singleTap') touch = {} }, 250)
认证0级讲师
这个延迟是singleTap事件的延迟,用来区分single和double tap
singleTap
如果是单击的话:touchstart>touchend>tap>250ms>singleTap
如果是双击的话:touchstart>touchend>tap>touchstart>touchend>doubleTap
回到你的问题tap事件是怎么模拟的,源码上还是挺清楚的,具体过程如下:
首先tap是在touchend之后时触发的
触发条件一,位移不能大:touchstart和touchend两个位置之间不能有超过横向或者纵向30px的位移
触发条件二,时间不能长:touchstart到touchend之间超过750ms
楼上正解。这个是延迟用来区分单击或双击的。
这个延迟是
singleTap
事件的延迟,用来区分single和double tap如果是单击的话:
touchstart>touchend>tap>250ms>singleTap
如果是双击的话:
touchstart>touchend>tap>touchstart>touchend>doubleTap
回到你的问题tap事件是怎么模拟的,源码上还是挺清楚的,具体过程如下:
首先tap是在touchend之后时触发的
触发条件一,位移不能大:touchstart和touchend两个位置之间不能有超过横向或者纵向30px的位移
触发条件二,时间不能长:touchstart到touchend之间超过750ms
楼上正解。这个是延迟用来区分单击或双击的。