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 条评论
登录 后参与评论

相关文章

来自专栏mwangblog

蚁群算法简单介绍

蚁群算法(Ant Colony Optimization, ACO)是通过模拟蚂蚁觅食的原理,设计出的一种群集智能算法。

582
来自专栏PHP在线

PHP 开发者的 Docker 之旅

用 PHP 作为我们「Docker 开发大礼包」开篇是带着一些朝圣的心情的。这是一门堪称「古老」的语言,这也是一门争议最多的语言,这更是一门不断涅槃的语言。「P...

3529
来自专栏工科狗和生物喵

【闲来无事,py写game】Mac-Python3.5安装pygame 1.9.2 小计

正文之前 没错,我就是这么不学无术,C++实在学的鸡儿疼,所以干脆搞点娱乐措施,昨天赶上了京东图书做大活动,所以屯了一批书,好久没碰python了。所以就整本玩...

4536
来自专栏phodal

3.15 让我们来看看开源世界的抄袭

两天前,发生了一件特别有意思的事, 饿了么前端团队在知乎专栏上,撰文《写在 Element 一周年之际》指出指责iview抄袭这件事?那么,问题来了这是不是真的...

1819
来自专栏JackeyGao的博客

全宋词爬取过程及数据分析

.tagul-attribution { display: none; } .block { padding-bottom: 0 !impo...

692
来自专栏Python小屋

Python裸奔也疯狂:批量爬取中国工程院院士信息

中国工程院院士,是中国设立的工程科学技术方面的最高学术称号,为终身荣誉,由选举产生。在工程科学技术方面作出重大的、创造性的成就和贡献,热爱祖国,学风正派,品行端...

3035
来自专栏字根中文校对软件

Contributor License Agreements : 贡献者许可证协议 介绍

Contributor License Agreements : 贡献者许可证协议 介绍     给大家介绍一个保护开源项目中Contributor权益的协议:...

3195
来自专栏玉树芝兰

密码怎么设才好?一条标准就够了

又看到网络安全事件的新闻了吧?心慌不慌?其实设置和保管好自己的密码,只需要记住这一条标准就可以了。

795
来自专栏FreeBuf

永生之火:相对持久的绕过方法和一点想

基于很多渗透测试的框架,和出色的 backdoor 程序,现在的后门已经不仅仅局限与 tcp/ip 了,今天分享的东西算不算干货呢?就靠读者朋友们来定义了。

970
来自专栏程序员互动联盟

【程序人生】糟糕的程序员你会做?

一个好程序员不好做,那么一个糟糕的程序应该不难吧! 秘籍一:让你看不懂我写的是什么 都说让人看不懂的代码,才是牛逼代码。一类是算法高深,一般人实在是看不懂。另一...

3168

扫码关注云+社区