Uniapp(JS)实现小程序按键->短按删除、长按清空功能
参考博客:https://blog.csdn.net/weixin_33743292/article/details/113017148.
说明:代码部分使用了uniApp的一些插件,但是重点时Js实现的的思路
需要了解五个方法
1、按下手指时触发:ontouchstart
2、释放手指时触发:ontouchend
3、手指移动触发:ontouchmove
4、延时函数:setTimeout(要执行的代码, 等待的毫秒数)
延时函数也可做一次性定时器
5、清楚定时器方法:clearTimeout
基本思路:
1、设定长按事件为500毫秒。
2、在手指按下按键后,ontouchstart
函数调用setTimeout()
,生成一个定时器timeOutEvent
,500毫秒后调用延时函数里面的第一个参数,即需要实现的长按功能,并且计时器清零
3、用户手指发生滑动,则触发ontouchmove
函数,清除计时器timeOutEvent
,直接返回。
4、用户释放手指时触发ontouchend
,清除计时器timeOutEvent
,如果timeOutEvent
不为零,说明用户触发了点击事件,即需要实现的短按功能。
具体代码:
//template部分
<view class="input-box">
<uni-row class="demo-uni-row">
<!-- 输入框 -->
<uni-col :span="20">
<view