移动设备手势事件库Touch.js使用详解

发布时间 - 2026-01-11 02:51:34    点击率:

Touch.js手势库是专门在Webkit内核浏览器的移动设备中使用中设计的, Touch.js是移动设备上的手势识别与事件库。Touch.js基于原生事件,支持事件代理, 性能更好,极简的API,秒速上手等优势。

1、旋转事件- startRotate

var angle = 0;
touch.on('#target', 'touchstart', function(ev){
ev.startRotate();
ev.preventDefault();
});
touch.on('#target', 'rotate', function(ev){
var totalAngle = angle + ev.rotation;
if(ev.fingerStatus === 'end'){
angle = angle + ev.rotation;
}
this.style.webkitTransform = 'rotate(' + totalAngle + 'deg)';
});

2、双指缩放事件-Scale

var target = document.getElementById("target");
target.style.webkitTransition = 'all ease 0.05s';
touch.on('#target', 'touchstart', function(ev){
ev.preventDefault();
});
var initialScale = 1;
var currentScale;
touch.on('#target', 'pinchend', function(ev){
currentScale = ev.scale - 1;
currentScale = initialScale + currentScale;
currentScale = currentScale > 2 ? 2 : currentScale;
currentScale = currentScale < 1 ? 1 : currentScale;
this.style.webkitTransform = 'scale(' + currentScale + ')';
log("当前缩放比例为:" + currentScale + ".");
});
touch.on('#target', 'pinchend', function(ev){
initialScale = currentScale;
});

3、识别单击, 双击和长按事件-Tap & Hold

touch.on('#target', 'hold tap doubletap', function(ev){
//console.log(ev.type);
});

4、向左, 向右滑动-Swipe

touch.on('#target', 'touchstart', function(ev){
ev.preventDefault();
});
var target = document.getElementById("target");
target.style.webkitTransition = 'all ease 0.2s';
touch.on(target, 'swiperight', function(ev){
this.style.webkitTransform = "translate3d(" + rt + "px,0,0)";
log("向右滑动.");
});
touch.on(target, 'swipeleft', function(ev){
log("向左滑动.");
this.style.webkitTransform = "translate3d(-" + this.offsetLeft + "px,0,0)";
});

5、拖拽事件-Drag

touch.on('#target', 'touchstart', function(ev){
ev.preventDefault();
});
var target = document.getElementById("target");
var dx, dy;
touch.on('#target', 'drag', function(ev){
dx = dx || 0;
dy = dy || 0;
log("当前x值为:" + dx + ", 当前y值为:" + dy +".");
var offx = dx + ev.x + "px";
var offy = dy + ev.y + "px";
this.style.webkitTransform = "translate3d(" + offx + "," + offy + ",0)";
});
touch.on('#target', 'dragend', function(ev){
dx += ev.x;
dy += ev.y;
});

6、原生事件-Touch

touch.on('#target', 'touchstart touchmove touchend', function(ev){
console.log(ev.type);
});

touch.js官方网站:http://touch.code.baidu.com/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Touch.js  # 移动设备  # 手势  # 浅谈移动端之js touch事件 手势滑动事件  # 浅谈javascript的Touch事件  # js的touch事件的实际引用  # javascript移动设备Web开发中对touch事件的封装实例  # js实现touch移动触屏滑动事件  # javascript移动开发中touch触摸事件详解  # 手机端点击图片放大特效PhotoSwipe.js插件实现  # JS前端开发判断是否是手机端并跳转操作(小结)  # JS模仿手机端九宫格登录功能实现代码  # JS手机端touch事件计算滑动距离的方法示例  # 值为  # 双击  # 单击  # 大家多多  # 比例为  # 拖拽  # 是专门  # deg  # Scale  # webkitTransform  # style  # fingerStatus  # rotation  # document  # initialScale  # currentScale  # ease  # getElementById  # webkitTransition  # pinchend 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  大学网站设计制作软件有哪些,如何将网站制作成自己app?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  零服务器AI建站解决方案:快速部署与云端平台低成本实践  太平洋网站制作公司,网络用语太平洋是什么意思?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  网站图片在线制作软件,怎么在图片上做链接?  JavaScript如何实现继承_有哪些常用方法  制作公司内部网站有哪些,内网如何建网站?  如何自定义建站之星网站的导航菜单样式?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  如何用腾讯建站主机快速创建免费网站?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  原生JS获取元素集合的子元素宽度实例  青岛网站建设如何选择本地服务器?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Swift中循环语句中的转移语句 break 和 continue  如何用PHP工具快速搭建高效网站?  教你用AI润色文章,让你的文字表达更专业  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何快速搭建个人网站并优化SEO?  ,怎么在广州志愿者网站注册?  如何在搬瓦工VPS快速搭建网站?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  如何在云指建站中生成FTP站点?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何使用Eloquent进行子查询  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  C语言设计一个闪闪的圣诞树  php json中文编码为null的解决办法  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  如何快速搭建高效简练网站?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何快速生成凡客建站的专业级图册?  Laravel如何使用Sanctum进行API认证?(SPA实战)  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  微信推文制作网站有哪些,怎么做微信推文,急?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何快速搭建高效服务器建站系统?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel如何实现用户注册和登录?(Auth脚手架指南)