我的小程序中,用到一个长按修改的功能,设计是这样的,短按tap,长按longpress

但是,偶尔出现长按无效的情况。我自己都经常碰到,今天仔细研究,用半天时间反复寻找,重现,发现问题和内存或别的因素无关,最有可能是事件引起的。我发现,这种操作下,长按无效会大概率出现:

把列表上拖,使分隔线位于屏幕上沿,手尽量按分割线,这时,不会出现长按后的弹出菜单。再往后,就是长按无效。但tap依然有效。

而且,一般过一段时间,又正常了。

学习文档,发现:

长按原来的事件是longtap,问题就很多,和tap老是冲突,才导致又用这个新事件

longpress的处理是,如果350毫秒内没有处理,将触发tap,否则不触发tap。

加上又是冒泡事件,情况更加复杂。

对于效果,我比较不满意。一方面,要手抬起来后,才触发tap事件,另外长按和tap没有关联,和正常习惯也不一致。我看微信本身的处理是,按在列表上,立刻有点中的响应,再过一小会,弹出菜单。

经过反复试验,找到一个接近微信的解决方案

捕获两个事件,按下事件直接处理选中,并记录timestamp,tap事件处理是否弹出菜单。可能比微信稍晚点(要手起来才出菜单),但也算接近了。

小程序longpress的bug及其解决的更多相关文章

  1. 小程序背景图片bug

    在pc端调试的时候已经可以看到出现背景图片了,但是在真机调试的时候却发现没有背景图片,那么原因是什么呢?真机调试和vconsole也看不出什么鸟,其实这是小程序的一个bug.另一种说法是:backgr ...

  2. 小程序输入框闪烁BUG解决方案

    前言 本人所说的小程序,都是基于mpvue框架而上的,因此BUG可能是原生小程序的,也有可能是mpvue的. 问题描述 在小程序input组件中,如果使用v-model进行双向绑定,在输入时会出现光标 ...

  3. 小程序连续点击bug解决

    问题描述: 1)wxml片段 <view bindtap="loadMulti"> <text>连续点击,加载多次</text> </vi ...

  4. 微信小程序计算金额长度异常解决办法

    今天在做微信小程序,在测试的时候偶然出现了一些问题,如下图. 心中的一阵不爽猛然袭来,完全是搞事情哈! 然后经过一番探索,用toFixed方法搞定了,此方法是对值进行四舍五入的. 解决后点了一大堆控制 ...

  5. 微信小程序: 编译.wxss文件错误解决

    博主最近又重新开始捡起微信小程序,想做点自己的东西.了解到最近小程序工具有做更新,就顺手更新了最新的版本,功能比之前强大了不少!  更新归更新,更新后控制台就一直报下面这个错误:  解决办法 有问题总 ...

  6. 补充ABP Zero集成微信小程序登陆的BUG修复部分

    感谢园友 @turingguo 发布的 https://www.cnblogs.com/turingguo/p/9019026.html  文章,详细介绍了ABP Zero集成微信小程序登陆的实现过程 ...

  7. 微信小程序禁止下拉_解决小程序下拉出现空白的情况

    微信小程序禁止下拉 在微信小程序中,用力往下拉动,页面顶部会出现一段空白的地方. 产品的需求不太允许这么做,会影响用户体验,查看文档发现可以使用enablePullDownRefresh这属性来实现, ...

  8. 微信小程序云开发报错解决: Setting data field "openid" to undefined is invalid.

    最近在学习微信小程序云开发,刚一开始就遇到了问题. 点击获取openid的时候控制台开始报错: [云函数] [login] user openid:  undefined VM97:1 Setting ...

  9. 微信小程序审核不通过的解决方法

    前言 近来,微信小程序一直活跃在开发者的眼球中.很多开发者都投身微信小程序的开发中,而这些开发者,总是需要面对最后一道难题:如何以一种优雅的姿势来通过微信官方的审核.本文基于几天前提交审核的一次总结, ...

随机推荐

  1. JMeter学习笔记2-图形界面简单介绍

    废话少说直接干活的给: 一.打开和运行JMeter,出现UI界面.如图下所示: 工具栏:常见操作的图标集合,有New(新建), Template(模板) ,Save(保存),Start(开始) ,St ...

  2. day31 网络编程,多进程多线程

    今天的内容需要好好整理,概念性的东西比较多,都是需要理解的,这些是基层的理解,后期的很多知识都是要建立在今天的概念基础上的,以下两点是核心内容,必须要理解,自己把自己理解的注释加在里面: 进程就是程序 ...

  3. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换

    类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字

  4. 流网络分析系统-SNAS

    流网络分析系统-SNAS SNAS,Streaming Network Analytics System (project SNAS) ,是一个收集.跟踪.存取 千万条实时路由对象的系统. 官网:ht ...

  5. 简单封装kafka相关的api

    一.针对于kafka版本 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>ka ...

  6. Zend 无限试用

    1.显示你的隐藏文件.文件夹 2.删除以下文件.文件夹 文件夹:C:\Users\Administrator\.zend\ 文件夹:C:\Users\Administrator\.ZendStudio ...

  7. 快速上手Git

    本文主要摘录于廖雪峰的Git教程,个别地方做了可能不恰当的修改或补充,主要方便自己回顾.查看更详细内容请移步廖老师博客.同时,感谢廖老师写出这么好的入门指导. (有彩蛋!!!) 一.热身 1.初始化一 ...

  8. maven 构建spring boot + mysql 的基础项目

    一.maven 依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ...

  9. Django之模板1

    Django模板 一.变量(只需要记住两种特殊符号) {{ }} 和{% %} {{ }}表示变量,在模板渲染的时候替换成值,变量名由字母数字和下划线组成. {% %}表示逻辑相关的操作. 点(.)在 ...

  10. 英语口语练习系列-C13-聚会

    词汇 音频 1. apartment [əˈpɑ:tmənt] n. 公寓 a big / small apartment 一个大的/小的公寓 in an apartment 在公寓 2. arm [ ...