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

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日

相关文章

  • ajax中data传参的两种方式分析

    当使用 AJAX 进行数据交互时,我们需要将请求的数据传递给后端进行处理。在 jQuery 中,可以通过 data 参数来传递数据。一般来说,data 传参的方式有两种:对象字面量和序列化字符串。下面分别进行详细讲解: 对象字面量的方式 对象字面量的方式是通过 JavaScript 中对象的方式来定义数据,然后传递给后端。例如: $.ajax({ url: …

    JavaScript 2023年6月11日
    00
  • JavaScript 中的六种循环方法

    让我们来详细讲解 JavaScript 中的六种循环方法。 1. for 循环 for 循环是 JavaScript 中最常用的循环方法之一。它可以用来遍历数组、对象等。for 循环的语法格式如下: for (let i = 0; i < array.length; i++) { console.log(array[i]); } 上面的代码中,i 是循…

    JavaScript 2023年5月27日
    00
  • JavaScript实现时钟特效

    以下是详细的JavaScript实现时钟特效的攻略,希望可以对您有帮助。 1. 准备工作 在开始制作JavaScript时钟特效之前,需要先做一些准备工作。包括HTML代码及CSS样式的编写。根据设计需求,制作一个表盘,盘面可以是圆形的或者其他形状。然后在表盘上加上时针、分针、秒针等元素,并通过CSS样式进行美化。 以下是制作样本的HTML代码示例: &lt…

    JavaScript 2023年5月27日
    00
  • 基于Bootstrap 3 JQuery及RegExp的表单验证功能

    针对“基于Bootstrap 3 JQuery及RegExp的表单验证功能”的完整攻略,下面我们分步骤进行讲解。 1. 引入依赖 首先,我们需要在网页中引入所需的相关依赖,包括Bootstrap 3、JQuery和RegExp,可以通过CDN或者本地文件进行引入。 <head> <link rel="stylesheet&quot…

    JavaScript 2023年6月10日
    00
  • 事件冒泡是什么如何用jquery阻止事件冒泡

    事件冒泡是指在页面元素上触发一个事件后,这个事件会依次从当前元素向上层祖先元素进行传递和执行处理的过程。 如何用jQuery来阻止事件冒泡呢?可以使用stopPropagation方法,它能够阻止事件继续向上层元素传播。 下面是一个示例,在这个示例中,我们有三个div元素,分别是嵌套的关系。我们给每个div元素都绑定了click事件,当点击最后一个div元素…

    JavaScript 2023年6月11日
    00
  • JavaScript编程的10个实用小技巧

    JavaScript编程的10个实用小技巧 JavaScript编程是现代Web开发中不可或缺的一部分。为了更好地利用JavaScript进行编程,我们需要学习许多小技巧,这些小技巧能够帮助我们更加轻松快捷地编写代码。本文将介绍JavaScript编程的10个实用小技巧。 1. 使用模板字面量 在JavaScript中,我们可以使用模板字面量来轻松创建格式化…

    JavaScript 2023年5月18日
    00
  • JavaScript 中的 parseInt() 函数详解

    JavaScript 中的 parseInt() 函数详解 什么是 parseInt() 函数? parseInt() 是 JavaScript 内置的一个函数,用于将字符串解析成整型数字。该函数的作用是从字符串中提取数字,将其转换为十进制整数。 parseInt() 函数的语法 parseInt() 函数的语法格式如下: parseInt(string, …

    JavaScript 2023年5月27日
    00
  • php实现数组中索引关联数据转换成json对象的方法

    当我们需要将 PHP 中的索引关联数组转换为 JSON 对象时,可以使用 json_encode() 函数完成这个任务。 下面是一个将 PHP 关联数组转换为 JSON 对象的示例代码: <?php $data = array( ‘name’ => ‘John’, ‘age’ => 30, ’email’ => ‘john@examp…

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