当前位置: 首页 > news >正文

js实现简易的touch事件(es5)

    var btn = document.querySelector('#btn');
    btn.ontouchstart = function (e) {
        var point = e.changedTouches[0];
        this.strX = point.pageX;
        this.strY = point.pageY;
        this.isMove = false;
    }
    btn.ontouchmove = function (e) {
        var point = e.changedTouches[0];
        //手指按下去或多或少都会有滑动。一般以10像素为偏差值
        var chengeX = point.pageX - this.strX,
            chengeY = point.pageY - this.strY;
        this.chengeX = chengeX;
        this.chengeY = chengeY;
        if(Math.abs(chengeX) > 10 || Math.abs(chengeY) > 10){
            this.isMove = true;
        }
    }
    btn.ontouchend = function (e) {
        var point = e.changedTouches[0];
        if(!this.isMove) {
            console.log('我是点击操作--');
            return;
        }
        var dir = null;
        if(Math.abs(this.chengeX)> Math.abs(this.chengeY)) {
            dir = this.chengeX < 0 ? 'left' : 'right';
        }else {
            dir = this.chengeY < 0 ? 'up' : 'down';
        }
        console.log(dir);
    }
复制代码

转载于:https://juejin.im/post/5c791c4f6fb9a049b07e0f63

相关文章:

  • Mac OS安装Docker容器的3种方式与差别:Docker for Mac
  • 基于MicroPython的家庭可燃气体泄露微信报警器
  • 使用ABAP代码创建S/4HANA里的Sales Order
  • Redis的应用场景
  • 学习/linux/list.h_双链表实现
  • unknown
  • 3.Jmeter参数化
  • 抓取远程图片到本地,你会用什么函数?
  • ELK 企业内部日志分析系统
  • Handler中的IdleHandler
  • 企业级 SpringBoot 教程 (十七)上传文件
  • bboss v5.5.3 发布,Elasticsearch Rest Client
  • 4.Git文件系统
  • ios监听键盘删除事件
  • 秒懂正则表达式
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CentOS7简单部署NFS
  • const let
  • ES6--对象的扩展
  • java2019面试题北京
  • JavaScript设计模式系列一:工厂模式
  • JS函数式编程 数组部分风格 ES6版
  • JS实现简单的MVC模式开发小游戏
  • leetcode-27. Remove Element
  • Redux 中间件分析
  • SpiderData 2019年2月23日 DApp数据排行榜
  • SQLServer插入数据
  • Tornado学习笔记(1)
  • Vue2.x学习三:事件处理生命周期钩子
  • 服务器从安装到部署全过程(二)
  • 基于webpack 的 vue 多页架构
  • 聚类分析——Kmeans
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 力扣(LeetCode)22
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端自动化解决方案
  • 数据结构java版之冒泡排序及优化
  • 译米田引理
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 转载:[译] 内容加速黑科技趣谈
  • 最近的计划
  • python最赚钱的4个方向,你最心动的是哪个?
  • 带你开发类似Pokemon Go的AR游戏
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (20050108)又读《平凡的世界》
  • (vue)页面文件上传获取:action地址
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (轉貼) UML中文FAQ (OO) (UML)
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】