`
CshBBrain
  • 浏览: 650091 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:144905
Group-logo
HTML5移动开发
浏览量:137850
社区版块
存档分类
最新评论

指尖下的js——多触式web前端开发之二:处理简单手势

 
阅读更多

这篇文章描述多触式网页开发对手势(Gesture)事件的处理。 
    水果设备中的Gesture,广义的说包括手指点击(click),轻拂(flick),双击(double-click),两只手指的分开、闭合(scale)、转动(rotate)等一切手指能在屏幕上做的事情。iOS设计了了一系列手势来模拟和扩展鼠标操作,比如手指放下后迅速提起会触发click事件,手指向上滑动,停止,会触发body的onscroll事件等等。但是,狭义的Gesture事件,也就是能够addEventListener的GestureEvent对象,却并不是一个非常强大的存在,它只在有两根或多根手指放在屏幕上的时候触发,并且只包含手指分开比例(scale)和手指转动角度(rotation)信息。对于其他各种常用的手势,我们必须利用别的事件来处理。 
    下面从单根手指的事件开始说起。。。 
    我们先来考虑一个最简单的手势,手指放下后迅速提起,这个手势做出来后会发生什么?大家当然会想到click,其实在click发生以前,还有很多事情发生,请看下图: 

这里先解释一下什么是clickable element,就是一个绑定了click, mousedown, mouseup, mousemove事件
任何html element(注意,没有绑定事件处理的element不算clickable element)。从这张图可以看出,手
指提起的一刹那,首先触发的并不是click事件,而是mouseover和mousemove。然后,系统会判断接收到事
件的element的内容是否被改变,如果内容被改变,接下来的事件都不会触发,如果没有改变,会按照
mousedown,mouseup,click的顺序触发事件。什么?你问mouseout在哪?这个事件的处理,比较尴尬,
上面说的一系列事件都完了以后,如果你再点击一个clickable element,就会触发上一个clickable element的
mouseout事件了。。。比较纠结,建议不要在多触版网页上使用mouseout。 
    那么,如果手指放下后不提起又会发生什么呢?什么都不会发生,没有任何事件会被触发。但是,如果对象
是一个img并且有alt属性的话,这个动作将会显示img的alt字符串。如果是一个link的话,这个动作会显示“在
新窗口打开连接”选项,但是,不会有任何用户定义事件触发。 
    最后一种关于单根手指的事件,是放下后滑动手指。注意,在滑动的过程当中,不会触发除touchmove以外
的任何事件(请不要试图在这时处理mousemove)。手指在滑动的时候,整个page应该会跟着移动,除非你
preventDefault了body的touchmove。当手指停下来后,page的onscroll将会触发。除此之外,没有什么我
们熟悉的事情会发生。

分享到:
评论

相关推荐

    Web前端开发笔试考点

    Web 前端开发笔试考点 Web 前端开发是网站开发的重要组成部分,它涉及到网页的结构、表现和行为三个方面。为了确保网页的正确显示和良好的用户体验,Web 前端开发者需要遵循一系列标准,包括结构标准语言、表现标准...

    计算机图形学——基于MFC三维图形开发 孔令德版

    在本资源中,"计算机图形学——基于MFC三维图形开发 孔令德版",作者孔令德提供了一套针对MFC(Microsoft Foundation Classes)框架的三维图形编程教程,帮助学习者深入理解计算机图形学在实际应用中的实现方式。...

    指尖星空——天文科普网,网页设计课小组作业,静态页面。.zip

    这份作业合集适用于所有对网页设计、前端开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议:...

    Opencv项目实战:14 手势控制音量.zip

    在本项目中,"Opencv项目实战:14 手势控制音量",我们将探讨如何利用OpenCV库和Python编程来实现一个创新的手势控制音量的应用。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了...

    霍尔式三叶指尖陀螺资料

    《霍尔式三叶指尖陀螺技术详解》 在当今科技日新月异的时代,指尖陀螺作为一种结合了趣味性和科技元素的小型玩具,深受广大爱好者喜爱。特别是霍尔式三叶指尖陀螺,它利用了霍尔效应原理,使得陀螺在旋转时能稳定并...

    【web课设】iOS手机APP开发响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】科技农业土地开发响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    指尖上的生活——95后手机使用行为调研报告1

    《指尖上的生活——95后手机使用行为调研报告》揭示了95后这一年轻群体对手机的依赖程度和使用特点。95后主要是16至19岁的学生,部分已经进入社会,他们的生活与移动互联网紧密相连。以下是该报告的主要发现: 1. *...

    处理用户的手以检测指尖和手势_C++_C_下载.zip

    标题中的“处理用户的手以检测指尖和手势_C++_C_下载.zip”表明这是一个关于使用C++或C语言实现的手势识别技术的项目,主要关注的是对手指尖位置的检测。这种技术通常与计算机视觉、图像处理以及机器学习相关,特别...

    一种基于多级并行处理器的高速实时手势识别及指尖轨迹追踪系统.pdf

    "一种基于多级并行处理器的高速实时手势识别及指尖轨迹追踪系统" 本文提出了一种基于多级并行处理器的高速实时手势识别及指尖轨迹追踪系统。该系统包含64×64处理单元(PE)阵列、64个简化精简指令集(RISC)构架的...

    微营销——指尖的利器

    微营销——指尖的利器 pdf电子书 传统营销和微营销

    简单自学web前端——切片-附件资源

    简单自学web前端——切片-附件资源

    手势指尖检测算法c++实现

    手势指尖检测算法是计算机视觉领域中的一个重要应用,它在人机交互、虚拟现实、智能设备控制等方面有着广泛的应用。本文将深入探讨如何使用C++来实现这一算法,并着重讲解肤色分割、手势分割以及手指指尖检测的关键...

    【web课设】旅行计划响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】互联网农业响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】安保公司响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】产后康复瑜伽响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】时尚平面模特响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

    【web课设】农业机械化响应式网页-HTML源码.7z

    探索前端开发的艺术,体验HTML源码的魅力!【web课设】响应式网页-HTML源码,专...立即查看【web课设】响应式网页-HTML源码,开启你的前端开发之旅,让自己站在技术的前沿。这不仅是一份资源,更是一次改变未来的机会。

Global site tag (gtag.js) - Google Analytics