事情的起源在做项目的过程中,遇到这么一个需求:轻按按钮,事件触发一次,长按按钮,则事件需要不停的触发,微信没有提供这个方法,需要开发者自身去完成。 逻辑分析当按钮按下, 此时获取得到按下的时间戳和一个按钮的状态, 写入this.data里面, 写入成功后, 开启一个递归函数, 首先是得到当前时间戳, 取出开始的时间戳, 二者做对比, 当大于设定值如200毫秒, 则为长按时间, 若小于, 则为单击事件, 当按钮松开, 改变按钮状态, 清除计时器. 代码实现
微信小知识this.setData为一个异步函数, 如果有业务需要当数据写入成功后执行的话,可以使用这个方法来执行 this.setData({}, cb) cb 为回调函数 BUG修改虽然按照以上情况能实现预期效果,但是还不够完美,经过实测,当快速点击并松开(在100ms内),想要执行的函数并不会触发,为了能兼容这种情况,我做出了一点改变,添加了一个bindtap函数,并在添加一个状态来判断是否触发执行函数
因为水平有限,只能通过这种方式来进行修改,如果有更好的方法,欢迎提出意见和建议 |
在小程序中做一个单击长按判断
发布:2018-05-08 11:39浏览: 次来源:网络 作者:cola
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
相关文章
- 微信小程序app.json文件常用配置说明2021-07-09
- 微信小程序文字控制单行超过显示省略号2021-07-09
- 微信小程序参数传递的几种方法2021-07-09
- 微信小程序使用button按钮分享2021-07-09
- 微信小程序的setData2021-07-09
- 小程序分享,获取openid2021-07-08
- 微信小程序-实现tab2021-07-08
- 微信开发者工具新建和导入小程序2021-07-08
- 微信小程序实现点击拍照长按录像功能2021-07-08
- 微信小程序必知知识2021-07-08