VUE长按事件需求详解


Posted in Javascript onOctober 18, 2017

在开发中常常会有长按事件的需求,这里我简单的介绍几种长按事件的需求。

 需求一:长按数字累加或者累减

VUE长按事件需求详解

HTML:

<div class="mui-numbox" data-numbox-step='10' data-numbox-min='0' data-numbox-max='100'>
   <button class="mui-btn mui-numbox-btn-minus" type="button"@touchstart="Loop_Sub(item.CartID)" @touchend="clearLoop()">-</button>
   <input class="mui-numbox-input" type="number" :value="item.Cart_Nums"/>
   <button class="mui-btn mui-numbox-btn-plus" type="button" @touchstart="Loop_Add(item.CartID)" @touchend="clearLoop()">+</button>
</div>

JS:

var vm = new Vue({     
el: "#vue-container",
  data:{


Loop:null

},

methods:{//长按添加数量


Loop_Add:function(ID){



//设置数量



clearInterval(vm.Loop);//再次清空定时器,防止重复注册定时器



$target=$(event.target).parent().find('input');



vm.Loop=setInterval(function(){



$num=$target.val();



$target.val(parseInt($num)+1);



},100);


},


//长按减少数量
  
Loop_Sub:function(ID){



//设置数量



clearInterval(vm.Loop);//再次清空定时器,防止重复注册定时器



$target=$(event.target).parent().find('input');



vm.Loop=setInterval(function(){




$num=$target.val();




if($num>0){





$target.val(parseInt($num)-1);




}else{





clearInterval(vm.Loop);




}
      
//改变点击数



},100);


},


clearLoop:function(){



clearInterval(vm.Loop);


}

}
})

 这个Demo是在移动端测试的,因此使用的是touch事件。方法很简单,touchstart的时候去注册个Interval定时器,touchend的时候再把定时器清除掉,这样就能实现长按持续累加或者累减的效果。

需求二:长按延时事件触发

这类需求也比较简单,和需求一类似。这里拿需求一举例,只需在touchstart添加setTimeout计时器延时事件执行,touchend清除计时器即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的var_dump函数实现代码
Sep 07 Javascript
基于jQuery的树控件实现代码(asp.net+json)
Jul 11 Javascript
javascript的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
JavaScript修改css样式style动态改变元素样式
Dec 16 Javascript
js 绑定键盘鼠标事件示例代码
Feb 12 Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
js实现图片淡入淡出切换简易效果
Aug 22 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
Jun 06 Javascript
ES6函数和数组用法实例分析
May 23 Javascript
JS如何实现基于websocket的多端桥接平台
May 14 Javascript
vue router仿天猫底部导航栏功能
Oct 18 #Javascript
Node做中转服务器转发接口
Oct 18 #Javascript
Vue组件之Tooltip的示例代码
Oct 18 #Javascript
JS正则表达式完美实现身份证校验功能
Oct 18 #Javascript
详解vue项目首页加载速度优化
Oct 18 #Javascript
JS简单实现滑动加载数据的方法示例
Oct 18 #Javascript
详解cordova打包成webapp的方法
Oct 18 #Javascript
You might like
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
jquery实现进度条状态展示
2020/03/26 jQuery
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
pandas分区间,算频率的实例
2019/07/04 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
婚前财产公证书
2014/04/10 职场文书
购房协议书
2014/04/11 职场文书
品牌转让协议书
2014/08/20 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
django上传文件的三种方式
2021/04/29 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Golang日志包的使用
2022/04/20 Golang
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers