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 相关文章推荐
jquery的总体架构分析及实现示例详解
Nov 08 Javascript
浅谈js的setInterval事件
Dec 05 Javascript
javascript中的this详解
Dec 08 Javascript
jQuery验证元素是否为空的两种常用方法
Mar 17 Javascript
js实现可旋转的立方体模型
Oct 16 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
Nov 23 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
详解vue 命名视图
Aug 14 Javascript
JS中的模糊查询功能
Dec 08 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
关于文本留言本的分页代码
2006/10/09 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
Python画图学习入门教程
2016/07/01 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
综合测评自我鉴定
2013/10/08 职场文书
仓库门卫岗位职责
2013/12/22 职场文书
学生自我评语大全
2014/04/18 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL