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复选框CHECKBOX全选、反选
Aug 30 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
动态加载js文件简单示例
Apr 21 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 Javascript
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
PHP Undefined index报错的修复方法
2011/07/17 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
在Python中使用异步Socket编程性能测试
2014/06/25 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
python中map()函数的使用方法示例
2017/09/29 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
公司离职证明范本
2014/10/17 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
5个实用的JavaScript新特性
2022/06/16 Javascript