首页 > 其他分享 >Hammer.js中文教程

Hammer.js中文教程

时间:2024-01-27 20:32:23浏览次数:37  
标签:教程 手指 DOM 拖动 js 事件 触控 滑动 Hammer

一、什么是hammer.js

hammerJS是一个开源的,轻量级的触屏设备javascript手势库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件。允许同时监听多个手势、自定义识别器,也可以识别滑动方向。
优点:

  • 为移动端网页添加相关手势
  • 去除移动端上的点击事件的300ms延迟
  • hammer.js通过压缩只有7kb,而hammer-time.js通过压缩只有1kb,因此彻底不用考虑引入他们以后的性能问题

二、Rotate事件

在绑定的DOM对象中,当两根手指或更多手指呈圆形旋转时触发(就像两根手指拧螺丝一样)

  • Rotatestart:旋转开始
  • Rotatemove:旋转过程
  • Rotateend:旋转结束
  • Rotatecancel:旋转取消

三、Pinch事件

在指定的DOM对象中,两根手指(默认为两根手指,多指触控需要单独设置)或多根手指相对移动或相向移动的事件

  • Pinchstart:多点触控开始
  • Pinchmove:多点触控过程
  • Pinchend:多点触控结束
  • Pinchcancel:多点触控取消
  • Pinchn:多点触控时两手指距离越来越近
  • Pinchout:多点触控时两手指距离越来越远

四、Press事件

在指定的DOM对象中,进行初评的点击事件,相当于PC端的click事件,最小按压时间为500
ms

  • Pressup:点击事件离开时触发

五、Pan事件

在指定的DOM对象中,一个手指放下并移动事件,即触屏中的拖动事件(它会时刻执行触发事件就行mousemove事件一样)

  • Panstart:拖动开始
  • Panmove:拖动过程
  • Panend:拖动结束
  • Pancancel:拖动取消
  • Panleft:向左拖动
  • Panright:向右拖动
  • Panup:向上拖动
  • Pandown:向下拖动

六、Tap事件

在指定的DOM对象中,进行触屏的点击事件,相当于PC端的click事件,最大按压时间为250ms

七、Swipe事件

在指定的DOM对象中,一根手指快速的在触屏上滑动,即我们平时用的最多的滑动事件(和Pan事件类似,但是一次行为只会判定一次事件)

  • SwipeLeft:向左滑动

  • Swiperight:向右滑动

  • Swipetup:向上滑动

  • Swipedown:向下滑动

    // 示例 // 取一个DOM对象并定义一个hammer对象 var hammertime = new Hammer(document.getElementById("test")); // 为这个DOM事件绑定Swipe事件,并且e为事件对象 hammertime.on("swipe",function(e){ document.getElementById("a").innerHtml += "swipe偏移量:x-" + e.deltaX + ",y-" + e.deltaY; console.log(e); })

官网下载: https://hammerjs.github.io/

标签:教程,手指,DOM,拖动,js,事件,触控,滑动,Hammer
From: https://blog.51cto.com/zhishunet/9445064

相关文章

  • HammerJs中文教程
    一、什么是hammer.jshammerJS是一个开源的,轻量级的触屏设备javascript手势库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件。允许同时监听多个手势、自定义识别器,也可以识别滑动方向。优点:为移动端网页添加相关手势去除移动端上的点击事件的300ms延迟hammer.js通过......
  • 无涯教程-Socket.IO - 环境
    要开始使用Socket.IO进行开发,您需要安装Node和npm(节点程序包管理器)。如果您没有这些,请转到节点设置,以在本地系统上安装节点。通过在终端中运行以下命令来确认已安装节点和npm。node--versionnpm--version您应该得到类似于以下内容的输出:v17.3.08.3.0打开终端,并在......
  • 无涯教程-Socket.IO - 简介
    Socket.IO是用于实时Web应用程序的JavaScript库。它支持Web客户端和服务器之间的实时双向通信。它包括两个部分:在浏览器中运行的客户端库和用于node.js的服务器端库,这两个组件具有相同的API。实时应用实时应用程序(RTA)是在用户感知为即时或当前的时段内运行的应用程序。实......
  • Node.js笔记
    第一篇 一、Node.js模块:模块使用npm运行管理。events:事件模块,提供事件触发和事件监听功能。util:核心功能模块,用于弥补核心JS功能的不足。fs:文件操作模块,提供文件操作APIhttp:Web协议模块,提供Web协议交互功能express:Web框架,用于快速构建Web应用服务vm:沙箱模块,用于提......
  • Redux和@reduxjs/toolkit的使用
    1.简介:Redux是一种用于管理应用程序状态的JavaScript库。它是一个可预测的状态容器,可以用于编写可维护和可扩展的应用程序。@reduxjs/toolkit是一个官方提供的Redux工具包,它可以帮助简化Redux应用程序的开发,并提供常用的Redux原生方法,例如创建Reduxstore、定义r......
  • [经验] 鲁班锁怎么拼装6块视频教程
    1、鲁班锁怎么拼鲁班锁是一种传统的木制机械锁,又称为“八卦锁”、“梅花锁”,已经有数千年的历史。它由两个零部件组成,即外面的“锁板”和里面的“锁芯”,需要以特定的方式拼装才能打开和关闭。如今,它已经成为一种文化遗产,备受人们所喜爱。在拼装鲁班锁之前,首先要了解组成鲁班锁的零......
  • 无涯教程-Scala Tuples函数
    Scala元组将固定数量的项目组合在一起,以便它们可以作为整体传递。与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。以下是一个包​​含整数,字符串和控制台的元组的示例。valt=(1,"hello",Console)以下是语法糖-valt=newTuple3(1,"hello",Console)元......
  • [office] Excel2016瀑布图怎么做?Excel2016瀑布图绘制教程
    瀑布图源于形似瀑布,常用来反映数个特定数值之间的数量变化关系Excel2016瀑布图绘制教程新建一个EXCEL表格,输入数据。最好是增量、减量数据,这样做出的瀑布图才有对比。在数据区域单击右键,依次点击“插入”—“图表”—“所有图表”,选择“瀑布图”点击“确定”,生成瀑布图。从图中可以......
  • 无涯教程-Scala Maps函数
    ScalaMap是键/值对的集合。可以根据其键检索任何值,键在Map中是唯一的,但值不必是唯一的。默认情况下,Scala使用不可变的Map。如果要使用可变Map,则必须显式导入scala.collection.mutable.Map类。如果您要同时使用可变Map和不可变Map,则可以继续将可变Map称为Map,但可以将可变集......
  • 无涯教程-Scala Sets函数
    ScalaSets是同一类型的不同元素的集合,换句话说,集合是不包含重复元素的集合。默认情况下,Scala使用不可变的Set。如果要使用可变Set,则必须显式导入scala.collection.mutable.Set类,如果要在同一集合中同时使用可变集和不可变集,则可以继续将不可变集称为Set,但可以将可变集称为......