返回顶部
首页 > 资讯 > 前端开发 > VUE >Javascript的高级手势如何使用
  • 626
分享到

Javascript的高级手势如何使用

2024-04-02 19:04:59 626人浏览 八月长安
摘要

这篇文章主要介绍“javascript的高级手势如何使用”,在日常操作中,相信很多人在Javascript的高级手势如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja

这篇文章主要介绍“javascript的高级手势如何使用”,在日常操作中,相信很多人在Javascript的高级手势如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Javascript的高级手势如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在IE10中新加入的对高级用户输入的识别支持,举例说明:注册一个点击操作,通过一句addEventListener 就能够知道当前用户的点击是哪种设备,是手指的点击,是鼠标的单击还是触控笔的点击(平板设备都会带有触控笔)

  在IE10中新加入的对高级用户输入的识别支持,举例说明:注册一个点击操作,通过一句addEventListener 就能够知道当前用户的点击是哪种设备,是手指的点击,是鼠标的单击还是触控笔的点击(平板设备都会带有触控笔)。

 <canvas id="MyCanvas"></canvas>

    <script>

        MyCanvas.addEventListener("MSPointerDown", MyBack, false);

        function MyBack(e) {

            alert(e.pointerType.toString());

        }

    </script>

 以上这段代码就是能够识别出当前用户的点击是哪种设备,通过回调的方法中 e.pointerType 还进行判断。鼠标是4,触控笔是3,手指是2。至于值为1是何种设备还有待研究。

还有需要注意的就是 想在javascript中添加对输入设备的识别,注册的方法事件也是有点点区别。

addEventListener 添加的事件为 MSPointerDown

而在IE10中对于这样的多种设备识别中优先处理的手指的点击,前提是不影响功能正常单击的情况下。然而IE10不仅仅能识别用户的输入设备还支持非常多的高级手势

创建手势对象

在您的网站中处理手势的第一步是实例化手势对象。

var myGesture = new MSGesture();

接下来,为该手势提供一个目标元素。浏览器将对该元素触发手势事件。同时,该元素还可以确定事件的坐标空间。

elm = document.getElementById("someElement");

myGesture.target = elm;

elm.addEventListener("MSGestureChange", handleGesture);

最后,告知手势对象在手势识别期间处理哪些指针。

elm.addEventListener("MSPointerDown", function (evt) {

// adds the current mouse, pen, or touch contact for gesture recognition

myGesture.addPointer(evt.pointerId);

});

注意:请不要忘记您需要使用 &ndash;ms-touch-action 来配置元素以防止其执行默认触摸操作(例如,平移和缩放),并为输入提供指针事件。

处理手势事件

一旦手势对象具有有效目标并至少添加了一个指针,则其将开始触发手势事件。手势事件可分为两种:静态手势(例如,点击或保持)和动态手势(例如,收缩、旋转和轻扫)。

点击

最基本的手势识别是点击。当检测到点击时,将会在手势对象的目标元素触发 MSGestureTap 事件。不同于单击事件,点击手势只能在用户触摸、按鼠标按钮或使用手写笔触控而不移动时触发。如果您要区分用户点击元素和拖动元素的操作,这一点通常会显得十分有用。

长按

长按手势是指用户使用一个手指触摸屏幕,并保持片刻并抬起而不移动的操作。在长按交互期间,MSGestureHold 事件会针对手势的各种状态而多次触发:

复制代码

代码如下:

element.addEventListener("MSGestureHold", handleHold);

function handleHold(evt) {

if (evt.detail & evt.MSGESTURE_FLAG_BEGIN) {

// Begin signals the start of a gesture. For the Hold gesture, this means the user has been holding long enough in place that the gesture will become a complete press & hold if the finger is lifted.

}

if (evt.detail & evt.MSGESTURE_FLAG_END) {

// End signals the end of the gesture.

}

if (evt.detail & evt.MSGESTURE_FLAG_CANCEL) {

// Cancel signals the user started the gesture but cancelled it. For hold, this occurs when the user drags away before lifting. This flag is sent together with the End flag, signaling the gesture recognition is complete.

}

}

动态手势(收缩、旋转、轻扫和拖动)

动态手势(例如,收缩或旋转)将以转换的形式报告,这与 CSS 2D 转换颇为类似。动态手势可触发三种事件:MSGestureStart、MSGestureChange(随着手势的持续而重复触发)和 MSGestureEnd。每个事件都包含缩放(收缩)、旋转、转换和速度等相关信息。

由于动态手势以转换的形式报告,因此使用包含 CSS 2D 转换的 MSGesture 来操作诸如照片或拼图等元素将变得十分轻松。例如,您可以通过下列方式启用缩放、旋转和拖动元素的操作:

复制代码

代码如下:

targetElement.addEventListener("MSGestureChange", manipulateElement);

function manipulateElement(e) {

// Uncomment the following code if you want to disable the built-in inertia provided by dynamic gesture recognition

// if (e.detail == e.MSGESTURE_FLAG_INERTIA)

// return;

var m = new MSCSSMatrix(e.target.style.transfORM); // Get the latest CSS transform on the element

e.target.style.transform = m

.translate(e.offsetX, e.offsetY) // Move the transform origin under the center of the gesture

.rotate(e.rotation * 180 / Math.PI) // Apply Rotation

.scale(e.scale) // Apply Scale

.translate(e.translationX, e.translationY) // Apply Translation

.translate(-e.offsetX, -e.offsetY); // Move the transform origin back

}

缩放和旋转等动态手势可支持鼠标操作,具体可通过在旋转鼠标滚轮的同时分别使用 CTRL 或 SHIFT 修饰键来实现。

到此,关于“Javascript的高级手势如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Javascript的高级手势如何使用

本文链接: https://lsjlt.com/news/90843.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Javascript的高级手势如何使用
    这篇文章主要介绍“Javascript的高级手势如何使用”,在日常操作中,相信很多人在Javascript的高级手势如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2024-04-02
  • Javascript高级手势如何使用
    本文小编为大家详细介绍“Javascript高级手势如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Javascript高级手势如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
    99+
    2024-04-02
  • Javascript 高级手势使用的介绍是怎样的
    这期内容当中小编将会给大家带来有关Javascript 高级手势使用的介绍是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在IE10中新加入的对高级用...
    99+
    2024-04-02
  • javascript的高级应用
    http://www.zzbang.cn/html/dev/js/2007/11/09/51/[@more@]1、关于javascript的apply和call函数 prototype.js中用了大量的apply和call函数,不注意会造成...
    99+
    2023-06-03
  • JavaScript高级函数应用之如何使用分时函数
    这篇文章主要介绍JavaScript高级函数应用之如何使用分时函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:一、前提介绍:某些函数是用户主动调用的,但因为一些客观的原因...
    99+
    2024-04-02
  • 怎么使用JavaScript实现手势库
    小编给大家分享一下怎么使用JavaScript实现手势库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript的特点1.JavaScript主要用来向...
    99+
    2023-06-14
  • windows10升级助手如何使用
    这篇文章将为大家详细讲解有关windows10升级助手如何使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  windows 10升级助手使用方法:  1.首先我们打开网页搜素“下载win10'...
    99+
    2023-06-26
  • PHP高级特性如何使用
    这篇文章主要介绍“PHP高级特性如何使用”,在日常操作中,相信很多人在PHP高级特性如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP高级特性如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-22
  • mysql中如何使用limit的高级用法
    本文主要给大家简单讲讲mysql中如何使用limit的高级用法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql中如何使用limit的高级用法这篇文章...
    99+
    2024-04-02
  • 如何使用Python识别手势数字
    这篇文章主要介绍如何使用Python识别手势数字,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言谷歌出了一个开源的、跨平台的、可定制化的机器学习解决方案工具包,给在线流媒体(当然也可以用于普通的视频、图像等)提供了...
    99+
    2023-06-15
  • 如何使用升级助手升级到Win8系统
    在升级至Windows 8时,微软强烈推荐先安装Windows 8升级助手。它可以扫描你当前的电脑以了解它是否准备好升级为Windows 8,并可提供兼容性报告和购买、下载以及安装Windows 8...
    99+
    2022-06-04
    升级到 如何使用 助手
  • 电脑win10升级助手如何使用
    这篇文章主要讲解了“电脑win10升级助手如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“电脑win10升级助手如何使用”吧!方法/步骤:1.打开浏览...
    99+
    2022-12-02
    win10
  • excel高级筛选功能如何使用
    Excel高级筛选功能可以帮助你根据多个条件筛选出符合条件的数据。以下是使用Excel高级筛选功能的步骤:1. 确保你的数据表的每一...
    99+
    2023-09-11
    excel
  • javascript的高级特性实例用法
    本篇内容主要讲解“javascript的高级特性实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript的高级特性实例用法”吧!js中没有cl...
    99+
    2024-04-02
  • JavaScript高级正则表达式如何理解
    这篇文章将为大家详细讲解有关JavaScript高级正则表达式如何理解,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript高级正则表达式1.正则表达式概述1.1什么是正则表达式...
    99+
    2023-06-26
  • mysql高级学习之索引的优劣势及规则使用
    一、索引的优劣势 优点:可以快速的检索  、可以加快分组和排序 缺点: 占用储存空间、降低数据表的修改操作 二、索引的分类 主键索引 ...
    99+
    2024-04-02
  • 使用Python下载的11种姿势,一种比一种高级
    最后,你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策略。1. 使用requests你可以使用requests模块从一个URL下载文件。考虑以下代码:你只需使用requests模块的get...
    99+
    2023-05-14
    代码 Python 文件
  • 使用 Python 下载的11种姿势,一种比一种高级
    下面你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策略。1. 使用requests你可以使用requests模块从一个URL下载文件。考虑以下代码:你只需使用requests模块的get方...
    99+
    2023-05-15
    代码 Python 姿势
  • 如何使用vbs设置高级NTFS权限
    这篇文章主要为大家展示了“如何使用vbs设置高级NTFS权限”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vbs设置高级NTFS权限”这篇文章吧。Microsoft 以 Microsof...
    99+
    2023-06-09
  • 如何在 JavaScript 中实现高级编程算法?
    在现代编程中,算法是一个非常重要的话题。这是因为算法可以帮助我们解决各种各样的问题,从搜索到排序,从图形到数学。JavaScript 是一种强大的编程语言,可以用来实现各种各样的算法。在本文中,我们将探讨如何在 JavaScript 中实现...
    99+
    2023-11-05
    编程算法 函数 javascript
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作