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 相关文章推荐
JS 面向对象的5钟写法
Jul 31 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
网页中CDATA标记的说明
Sep 12 Javascript
jquery(hide方法)隐藏指定元素实例
Nov 11 Javascript
jQuery构造函数init参数分析续
May 13 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
浅谈 Vue 项目优化的方法
Dec 16 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
vue.js实现简单的计算器功能
Feb 22 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实现三级级联下拉框
2016/04/17 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
Python 文本文件内容批量抽取实例
2018/12/10 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python语言基本语句用法总结
2019/06/11 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
网络管理专业求职信
2014/03/15 职场文书
推荐信怎么写
2014/05/09 职场文书
个人授权委托书模板
2014/09/14 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
教师节联欢会主持词
2015/07/04 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python