TAT.dnt 超级小的 web 手势库 AlloyFinger 发布
In Web开发 on 2016年05月26日 by view: 17,058
4

简介

针对多点触控设备编程的 Web 手势组件,快速帮助你的 web 程序增加手势支持,也不用再担心 click 300ms 的延迟了。拥有两个版本,无依赖的独立版和 react 版本。除了 Dom 对象,也可监听 Canvas 内元素的手势(需要 Canvas 引擎内置对象支持 addEventListener 绑定 touch 相关事件)。

据不完全统计,目前 AlloyFinger 服务于:兴趣部落、QQ 群、QQ 动漫、腾讯学院、TEDxTencent、 AlloyTeam、腾讯 CDC 等多个部门、团队和项目。

功能清单

极小的文件大小
简洁的 API 设计
优秀的性能
丰富的手势支持
双版本(react 和独立版)

事件

支持 pinch 缩放
支持 rotate 旋转
支持 pressMove 拖拽
支持 doubleTap 双击
支持 swipe 滑动
支持 longTap 长按
支持 tap 按
支持 singleTap 单击

快速上手

独立版使用方式:

react 版使用方式:

官网 DEMO

http://alloyteam.github.io/AlloyFinger/

Q&A

1. 必须跟 transformjs 一起用吗?
不必须。也可以在事件回调里根据 evt 携带的信息使用 js 去操作 CSS3。但是一起用,会让代码更简洁。
2.pinch、rotate 事件怎么在 chrome 浏览器调试的?
一般用真机调试,但是也可以使用 chrome 浏览器,传送门 http://www.html5rocks.com/en/mobile/touch/#toc-touchdev
3. 缩放的 origin 点设置,这里是想手在图片哪个区域操作就设置哪里为 origin 进行缩放?
自己去计算就是两个手指的连线的中点的坐标,

比如中点 X:

然后根据这个坐标和图片的坐标计算图片缩放的 origin
4. 拖拽位置、缩放大小是否可以限制(始终在屏幕内显示,避免出现缩到很小看不到的情况)
这个不应该有 AlloyFinger 控制。而应该由你的逻辑去控制

Github

https://github.com/AlloyTeam/AlloyFinger

 

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2016/05/super-small-web-gesture-library-alloyfinger-released/

  1. 馒头 2016 年 12 月 8 日

    为什么我在 react 里面使用 总是报 “ 不能读取属性 bind of undefined ” 的错误啊。

  2. 如影 2016 年 5 月 30 日

    用手机浏览器测试过了,pressMove:第一次点击拖动时无效,第二开始才有效;swipe:稍微有点倾斜的向上滑时也触发了此事件;longTap:长按会呼出浏览器的一个自带的菜单项;

    • TAT.dnt

      TAT.dnt 2016 年 5 月 31 日

      1 和 2 已 fix。3 只是在安卓下出现

  3. 简单一点 2016 年 5 月 26 日

    大赞 ,很流畅

发表评论到 如影