android4.4zepto.tap偶尔需点击两次bug分析

怎么复现这个问题

1、首先随意的滑两次,每次滑长一些,不用滑重(碎屏就不好了~~)

2、再点击一次,之后立刻停住~

o, no 你肯定在我说停住之后再点了一下,你觉得你并没有点到~

反复试几次仔细发现,原来是要点两次!

为什么会这样

zepto 发出you tap me的嚎叫可以用下面代码归纳

$(document)                                                                      
    .on('touchstart', function() {                                               
        // 打酱油                                                                
    })                                                                           
    .on('touchmove', function() {                                                
        deltaX += XXX;                                                           
        deltaY += XXX;                                                           
    })                                                                           
    .on('touchend', function() {                                                 
        if (deltaX < 30 && deltaY < 30) {                                                                                                                
            // you tap me                                                           
            touch.el && touch.el.trigger(event)                                     
        }                                                                           
        deltaX = deltaY = 0;                                                                                                                              
    })                                                                           
    .on('touchcancel', function() {                                                 
        // 打酱油                                                                   
    });

Android 4.4 touch事件

长距离的滑动: touchstart - > touchmove(仅一次) -> touchcancel

短距离: touchstart - > touchmove(一次) -> touchend

事情发展到了这里,去下载最新的zepto发现也只在touchend里做了这件重要的事情

deltaX = deltaY = 0;

哎~

看破红尘,上面的都不重要

Android 4.4 长距离的滑动touchmove只发生一次是不是让充满爱的FE瞬间变得忧伤了~

哈~,其实只需touchmove时e.preventDefault()

touchstart - > touchmove(仅一次) -> touchcancel

就能变成

touchstart - > touchmove(多次) -> touchend

(也不再是touchcancel了)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Angular&服务

关于做angular4引入echarts图表

NgxEchartsService 是全局 echarts 对象的包装器。您可以直接获取本机echarts对象或使用包装器方法。例如:

1283
来自专栏Golang语言社区

【Golang语言社区】H5游戏开发-纯javascript模仿微信打飞机小游戏

纯JavaScript模仿微信打飞机游戏,做网页小游戏的借鉴下,界面设计是竖长形仿手机屏幕风格,游戏效果流畅。具有分数统计,里面的JS封装类中包括有创建飞机类、...

4187
来自专栏静晴轩

Sublime Text 最新注册码分享

SublimeText,她作为强大而小巧,性感且快捷的编辑器,长时间以来,受众人青睐;对于个人来说,也是最常用代码编辑器,且没有之一(目前同时也会用 VsCod...

3403
来自专栏知晓程序

这个小程序,能让你找回恋爱的感觉

小程序体验师:郑旭光 生活中,有些事情并不需要「与时俱进」。比如,那时等信的日子就很美。

371
来自专栏Youngxj

iPhone7手机信号显示成数字如何设置?

1374
来自专栏编程

用Zhihu-OAuth库轻松爬取知乎各类数据

好久没更新,没赶在2018年的第一天内推送,出师不利 ? 去年(手动滑稽)某日想爬取知乎特定话题下的全部回答数据,于是翻出以前写的知乎话题爬虫跑运行了下,没想到...

39310
来自专栏腾讯社交用户体验设计

那些年苹果做错的设计

723
来自专栏IT 指南者专栏

全栈编程实战项目(一)

上次给大家推荐了一些全栈编程的学习资源,看了下后台,还是有很多人愿意去挑选资料去看去学习的。

884
来自专栏腾讯IVWEB团队的专栏

android 4.4 zepto.tap 偶尔需点击两次 bug 分析

android 4.4 zepto.tap 偶尔需点击两次 bug 分析,包括如何复现和解决过程。

1570
来自专栏华章科技

如何从互联网采集海量数据?租房,二手房,薪酬...

不少朋友看了沙漠君的文章后,都会问:那几十万条租房,二手房,薪酬,乃至天气数据都是从哪里来的?其实我还没告诉你这些数据在十几分钟内就可以采集到!

412

扫码关注云+社区