前言
在开发uni-app项目的时候,涉及到一个长按警报功能,但uni提供的@longpress/@longtap的默认时间比较短,不符合预期;在一番百度后,虽然也无果,但好像想到了什么,于是便动手试了一下。。。
提示:以下是本篇文章正文内容,下面案例可供参考
一、@longpress/@longtap 长按监听
这个长按监听的默认时长没查到,有说350ms的,有说500ms。在uni中,最好还是使用@longpress更佳。详细参考
https://ask.dcloud.net.cn/article/36059
或
https://www.cnblogs.com/sky-chen/p/11084695.html
其实这俩基本一样,官方只说了个推荐使用@longpress
https://uniapp.dcloud.io/vue-basics?id=事件映射表
二、解法思维历程
1.各种查
遇到问题,肯定会去各种查,但这个问题,居然实在查不到?要不然效果并不理想,要不然直接被回答“改不了”。。。所以就,真的?改不了了么?
emm,等等,setTimeout()延迟。。。好像并不能解决时间没按够就松手 便取消方法调用的问题,因为按过了@longpress的默认时长,方法还是会被调用,只是被推迟了。。。被 推 迟 了emmmm,要是,被推迟以后,执行时,有个状态判断? 就判断此时是否还在touch,进而决定是否执行。哎,好像还不错,好像可以,但这个touch状态的判断。。。定义一个变量?去代表touch状态? 。值得一试,于是动手。
2.第一版
代码如下(示例):
<view class="" @longpress="toLongTap" @touchend<