Vue.directive('tap',{
bind:function(el,binding){
var startTx, startTy, endTx, endTy, startTime, endTime; el.addEventListener("touchstart",function(e){
var touch=e.touches[0];
startTx = touch.clientX;
startTy = touch.clientY;
startTime = +new Date()
},false ); el.addEventListener("touchend",function(e){
endTime = +new Date()
if (endTime - startTime > 300) {
// 若点击事件过长,不执行回调
return
}
var touch = e.changedTouches[0];
endTx = touch.clientX;
endTy = touch.clientY;
if( Math.abs(startTx - endTx) < 6 && Math.abs(startTy - endTy) < 6){
// 若点击期间手机移动距离过长,不执行回调
var method = binding.value.method;
var params = binding.value.params;
method(params);
}
},false);
}
})
使用方法:在创建Vue实例前引入,栗子:
<div id="test"  v-tap="{method:test,params:some}">

var vm= new Vue({
el:"#test",
data:{
some:"ok!"
},
method:{
test:function(ee){
console.log(ee)
}
}
})

最新文章

  1. IIS6.0 IIS7.5应用程序池自动停止的解决方法
  2. 【体系结构】Oracle参数介绍
  3. RSA
  4. Oracle触发器使用介绍
  5. Javascript中最常用的61段经典代码
  6. Android图表
  7. MySQL 5.7 reference about JSON
  8. 用消息在Win32控制台程序多线程间进行通讯
  9. Cocos2d-x:环境配置小节
  10. msys2 安装注意事项
  11. JDK8 BigDecimal API-创建BigDecimal源码浅析二
  12. fflush 和 fsync 的区别
  13. C语言权威指南和书单 - 适用于所有级别
  14. mysql之找回误删数据
  15. Python3.6下使用会话session保持登陆状态
  16. centos-ftp搭建
  17. centos 7 redis-4.0.11 主从
  18. mydqldump
  19. python第九课——while死循环
  20. 智能家居入门DIY——【五、执行命令】

热门文章

  1. Docker虚拟化容器的使用
  2. JavaScript高级程序设计第三版.CHM【带实例】
  3. 在ubuntu上安装subline
  4. 安装python虚拟运行环境,linux下轻松切换python2和python3
  5. 华为模拟器ensp代码错误2,41,40问题的解决
  6. Open source cryptocurrency exchange
  7. C语言进阶——关于07中指针的补充
  8. url_maneger.py
  9. PHP.TP框架下商品项目的优化1-时间插件、鼠标所在行高亮、布局规划页面
  10. PHP.19-验证码生成