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 相关文章推荐
“不能执行已释放的Script代码”错误的原因及解决办法
Sep 09 Javascript
jQuery 研究心得 取得属性的值
Nov 30 Javascript
JavaScript Date对象使用总结
May 14 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
javascript 开发之百度地图使用到的js函数整理
May 19 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
JavaScript程序设计高级算法之动态规划实例分析
Nov 24 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 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-Java-Bridge使用笔记
2014/09/22 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
PHP中的session安全吗?
2016/01/22 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
Python多进程机制实例详解
2015/07/02 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
pymysql的简单封装代码实例
2020/01/08 Python
使用python实现多维数据降维操作
2020/02/24 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
杭州-DOTNET笔试题集
2013/09/25 面试题
幼儿园门卫岗位职责
2014/02/14 职场文书
土地转让协议书
2014/04/15 职场文书
化妆品活动策划方案
2014/05/23 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python