JS触摸事件、手势事件详解

yizhihongxing

JS触摸事件、手势事件详解

什么是触摸事件和手势事件

触摸事件是基于触摸输入设备,如手机屏幕,触发的事件。触摸事件包含以下几种:

  • touchstart:手指触摸屏幕时触发;
  • touchmove:手指在屏幕上滑动时连续触发;
  • touchend:手指离开屏幕时触发;
  • touchenter:手指触摸到一个DOM元素时触发;
  • touchleave:手指离开一个DOM元素时触发;
  • touchcancel:系统取消触摸事件的时候触发,例如来电时。

手势事件是基于一系列手指动作的事件,可以识别更为复杂的手势。手势事件包含以下几种:

  • pinch:用两个手指收缩或伸张时触发;
  • rotate:用两个手指旋转时触发;
  • swipe:手指在屏幕上向左、右、上、下滑动时触发;
  • tap:手指在屏幕上轻触时触发。

如何使用触摸事件

首先,HTML元素上需要监听触摸事件:

<div id="touch"></div>

然后,在JavaScript中处理触摸事件,例如监听touchstart:

const touchDom = document.getElementById('touch');

touchDom.addEventListener('touchstart', function(event) {
  event.preventDefault(); // 阻止默认事件,例如页面滚动
  console.log('Touch start.');
});

在这个例子中,当用户在 touchDom 元素上触碰屏幕时,监听到了touchstart事件,打印出 Touch start. 的信息。

如何使用手势事件

手势事件与触摸事件使用类似,但需要使用第三方库,例如Hammer.js:

HTML:

<div id="touch"></div>

JavaScript:

const touchDom = document.getElementById('touch');

const mc = new Hammer.Manager(touchDom);

mc.add(new Hammer.Pinch());
mc.add(new Hammer.Rotate());
mc.add(new Hammer.Swipe());
mc.add(new Hammer.Tap());

mc.on("pinch rotate swipe tap", function(event) {
  console.log(event.type);
});

在这个例子中,我们创建了 Hammer.Manager 实例,然后在其中添加手势事件类型,同时添加处理函数,根据event的type属性可以判断监听到了哪种手势事件,在这里简单打印出了事件类型。

总结

触摸事件和手势事件是基于手指输入的交互方式,可以丰富Web应用的交互方式,提升用户体验。触摸事件和手势事件的使用方式和API比较简单,但需要灵活运用,根据实际需求选择适合的事件类型和处理方式。

以上是关于JS触摸事件、手势事件的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS触摸事件、手势事件详解 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript实现数字时钟效果

    下面是详细讲解 JavaScript 实现数字时钟效果的完整攻略。 1. HTML 结构 首先需要在 HTML 文件中添加用于展示时间的结构。 <div id="clock"> <span id="hours"></span> : <span id="minutes&…

    JavaScript 2023年5月27日
    00
  • JavaScript前端实用的工具函数封装

    一、目标本篇攻略旨在帮助Javascript前端开发者快速了解常用的工具函数的封装,并学会自行编写及封装工具函数。 二、介绍工具函数封装指的是将常用的功能代码封装成一个个可复用的函数,以便于代码重用、整合和维护。虽然功能代码可能并不复杂,但通过工具函数的封装,可以减少代码冗余,提高代码的可读性、可扩展性和可维护性。参考以上目标,我们可以将工具函数的封装分为以…

    JavaScript 2023年6月11日
    00
  • JavaScript数组Array的一些常用方法总结

    JavaScript数组Array的一些常用方法总结 什么是JavaScript数组? JavaScript数组(Array)是一组按照顺序排列的值的集合。值可以是任何数据类型。数组中的元素可以通过索引值进行访问。 常用方法 1.添加元素 push() 将一个或多个元素添加到数组的末尾,并返回新数组的长度。 语法: array.push(element1, …

    JavaScript 2023年5月27日
    00
  • JavaScript中的设计模式 单例模式

    JavaScript设计模式之单例模式 什么是单例模式 单例模式是一种常用的软件设计模式,用于保证系统中一个类只有一个实例,避免多个实例造成的资源浪费,同时也能够方便对该实例的控制和管理。 在JavaScript中,单例模式通常是通过对象字面量或者构造函数来实现的。 示例1:对象字面量实现单例模式 var Singleton = { obj: null, g…

    JavaScript 2023年6月10日
    00
  • js取整数、取余数的方法

    下面是详细讲解“js取整数、取余数的方法”的完整攻略,希望能对您有所帮助。 取整数的方法 在Javascript中,我们可以使用以下方法来取整数部分: Math.floor() Math.floor()方法返回一个小于或等于给定数字的最大整数值。该方法向下舍入并返回值是比指定数字小的最大整数。 Math.floor(4.9); // 4 Math.floor…

    JavaScript 2023年5月27日
    00
  • 实例讲解动态加载gridview中的行及其样式

    我们来详细讲解一下如何实现“实例讲解动态加载gridview中的行及其样式”。 准备工作 在开始这个示例之前,你需要先安装以下工具和组件: .NET Framework 4.0 或以上版本 Visual Studio 2010 或以上版本 接下来,你还需要按照以下步骤创建一个新的 Web 应用程序: 打开 Visual Studio。 选择“文件” -&gt…

    JavaScript 2023年6月11日
    00
  • javascript getElementById 使用方法及用法

    JavaScript getElementById 使用方法及用法 getElementById()是JavaScript中用于按ID获取HTML元素的方法。本文详细介绍了getElementById()的使用方法及用法。 使用方法 在HTML代码中(通常在或中)指定元素ID,例如: <!DOCTYPE html> <html> &l…

    JavaScript 2023年6月10日
    00
  • AngularJS使用ngMessages进行表单验证

    好的!那么在这里我将详细为您讲解如何使用AngularJS中的ngMessages模块进行表单验证。 什么是ngMessages? ngMessages是AngularJS模块中的一种指令,用于在UI层面进行表单验证。ngMessages会根据验证不通过时的条件,自动输出相应的错误消息。这样可以极大地方便用户填写表单,并且提示信息是根据具体情况显示的,让用户…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部