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简单的拖动效果实现原理及示例
Jul 26 Javascript
javascript制作网页图片上实现下雨效果
Feb 26 Javascript
JavaScript中的Math.atan2()方法使用详解
Jun 15 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
基于JavaScript实现拖动滑块效果
Feb 16 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
详解express与koa中间件模式对比
Aug 07 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 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中接口与抽象类的区别
2013/06/08 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
vue使用监听实现全选反选功能
2018/07/06 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
PHP开发的一般流程
2013/08/13 面试题
如何写出好的Java代码
2014/04/25 面试题
商务日语毕业生自荐信范文
2013/11/14 职场文书
行政人员岗位职责
2013/12/08 职场文书
出国留学担保书
2014/05/20 职场文书
护士实习求职信
2014/06/22 职场文书
企业法人授权委托书
2014/09/25 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书