当前位置:首页 > 日记 > 正文

浅谈javascript的触摸事件

浅谈javascript的触摸事件
js的触摸事件,通常用于触摸屏在移动端滑动。
复制代码代码如下:$(()函数(){ document.addeventlistener(touchmove
touchstart:触发时,手指触屏;即使手指一直放在屏幕上,它会触发。

touchmove:触发时连续的手指滑动屏幕上。在这种情况下,调用preventDefault()可以防止滚动。

Touchend:触发时,手指从屏幕。

touchcancel:触发时,系统停止跟踪联系。关于这一事件的精确的触发事件文档中没有明确说明。

在上述事件的事件对象上存在以下属性:
触摸:表示当前跟踪到触摸操作的触摸对象数组。

TargetTouches:触摸的对象,具体到事件目标数组。

ChangeTouches:表示自上次碰了碰对象数组。

每个触摸对象包含以下属性:
X坐标ClientX:在视口中触摸目标。

Y坐标clienty:在视口中触摸目标。

标识符:用于触摸的惟一id。

PageX:在页面目标点的X坐标。

PageY:点页面中的目标Y坐标。

用ScreenX:触摸屏幕中目标的X坐标。

Screeny:触摸屏幕中目标的Y坐标。

目标的DOM节点坐标:触摸

触摸事件

规范中列出的三个基本触摸事件,并在广泛的移动设备中获得:

1。touchstart:手指被放置在一个DOM元素。

2。touchmove:手指拖动一个DOM元素。

三.touchend:手指从一个DOM元素删除。
每个触摸事件包括三个触摸列表:

1。触摸:当前屏幕上所有手指的列表。

2。targettouches:对当前的DOM元素的一个手指列表。

三.changedtouches:列出参与时事的手指
例如,在一个touchend事件,这是一个手指被删除。
这些列表由包含触摸信息的对象组成:

1。标识符:唯一标识触摸会话中当前手指(触摸会话)的数字值。

2。目标:DOM元素是由动作指示的目标。

三.客户机/页面/屏幕坐标:屏幕上动作发生的位置。

4。半径坐标和旋转角度:画一个椭圆,是手指的形状。

触摸控制中的应用
touchstart,touchmove和touchend事件支持几乎任何类型的基于触摸的交互提供了一组丰富的功能,包括常见的多点触摸手势,如捏缩放和旋转等。下面的代码可以拖动一个DOM元素在一个单一的手指触摸:
var obj = document.getelementbyidx_x_x_x_x_x_x('id');
Obj.addEventListener('touchmove功能(事件))
{如果此元素仅位于一个手指中。
如果(event.targettouches.length = 1)
{
VaR触摸=事件。targettouches { 0 };
手指位置中的元素
obj.style.left = touch.pagex + 'px;
obj.style.top = touch.pagey + 'px;
}
},假);
下面是一个显示屏幕上所有当前联系人的示例,它的作用是感受设备的响应性。

设置画布并通过CTX复制代码上下文变量
canvas.addeventlistener('touchmove,
函数(事件){
对于(var i = 0;i < event.touches.length;i++){
var = event.touches触摸;
Ctx.beginPath();
Ctx.arc(touch.pagex,touch.pagey,20, 0, 2 * Math.PI,真的);
Ctx.fill();
Ctx.stroke();
}
},假);
示范
有很多有趣的多点触控游行随处可见,如图演示基于帆布基于保罗爱尔兰和其他。

Browser Ninja,一个技术示范,是水果忍者克隆使用CSS3的转换,转换,和帆布。

最佳实践

防垢
默认的多点触摸设置并不是特别有用,因为你的滑动和手势常常与浏览器的行为相关,比如滚动和缩放。

若要禁用缩放功能,请使用下面的meta标记设置您的视图区域(视口),这对用户来说是不可伸缩的:

内容=宽度=设备宽度,初始规模= 1,用户可伸缩性= NO >

看看这篇关于移动HTML 5的文章,了解更多关于视图区域设置的内容。

停止滚动
一些移动设备已经默认touchmove行为,如经典的iOS OverScroll效果,这引发了视图时反弹滚动超过内容的边界。这种方法可以使多触摸应用混乱,但很容易禁用它。

Document.body.addEventListener('touchmove功能(事件){
Event.preventDefault();
},假);
一丝不苟的
如果您正在编写涉及复杂多指手势的多点触摸应用程序,您应该仔细考虑如何对触摸事件作出响应,因为有这么多事情需要马上处理:

canvas.addeventlistener('touchmove功能(事件){
RenderTouches(事件。触动);
},
然而,这种技术不会随着屏幕上手指数的增加而扩大。相反,它可以跟踪所有手指并在一个循环中呈现它,这样我们才能得到更好的性能。

var触摸{ }
canvas.addeventlistener('touchmove功能(事件){
event.touches触动=;
},假);
设置每秒60帧的计时器
定时器= setInterval(){()函数(
RenderTouches(感动);
},15);
提示:setInterval不是动画非常适合因为它没有考虑到浏览器的渲染循环。现代桌面浏览器提供requestanimationframe函数,它是基于性能和电池工作时间的一个更好的选择。一旦浏览器提供此功能的支持,它将处理事情的最佳方法。

使用targettouches和changedtouches

有一件事要记住的是,event.touches是所有手指都与屏幕接触的数组,而不只是那些在目标DOM元素。你会发现它使用event.targettouches和event.changedtouches代替event.touches更有用。

最后,由于您正在开发移动设备,您应该注意移动互联网的最佳实践。这些都是在Eric Bidelman的文章中所提到的,我们需要知道这个W3C文档。

设备支持
不幸的是,触摸事件实施的完整性和质量方面有很大的不同。我写出一些关于触摸API实现基本信息的诊断脚本,包括哪些事件的支持,和touchmove事件触发的解决方案。我测试了Android2.3.3在Nexus One和Nexus S硬件、测试程序和测试对Xoom的Android,iOS 4.2在iPad和iPhone。

总之,所有测试的浏览器支持touchstart,touchend,和touchmove事件。

该规范提供了三个附加的触摸事件,但是测试过的浏览器不支持它们:

1。touchenter:移动手指进入一个DOM元素。

2。toucheleave:把手指从一个DOM元素。

三.touchcancel:触摸中断(规范)。

测试浏览器还提供一系列的触动,targettouches,并在每个触摸列表changedtouches。然而,测试的浏览器不支持radiusx,radiusy,或旋转属性显示在触摸屏上的手指的形状。在touchmove,事件触发60次,均测试。

相关文章

实用:网页设计师学习印刷设计的3条

实用:网页设计师学习印刷设计的3条

学习,网页,设计师,规则,电脑软件,以下是萧边的话,网页设计师,印刷设计3设计原则。本教程是真的很实用,所以萧边为您分享,推荐给大家,共同学习。 本教程是简要介绍3个网页设计师的设计规则,他们想从印刷设计中学习。这个教程真的很好。我建议你喜…

打开侧边栏菜单的特殊效果代码基于

打开侧边栏菜单的特殊效果代码基于

菜单,侧边栏,特殊效果,代码,电脑软件,基于多张图片的无限循环动画效果。这是一款非常实用的jQuery多画面无限循环动画特效插件。 结果如下: 在线预览源代码下载 HTML代码: 回家 关于我们 我们的工作 接触 单击左上角的按钮打开菜单。 应…

搞笑签名文件搞笑个性签名

搞笑签名文件搞笑个性签名

签名文件,搞笑,个性签名,电脑软件,QQ签名已经成为我们同学生活中必不可少的元素。90点过后对吗你有空时动动手指吗一方面,QQ改变了签名。你的签名是足够的潮;Xiaomi在这里给你一些有趣的LOL签名文件,你想留下来。 1,这个球员虐待了我几千次,我就…

山水画在玻璃版印刷中的PS制作

山水画在玻璃版印刷中的PS制作

山水画,玻璃,电脑软件,PS,本教程是介绍一个朋友,PS创建景观,并把它打印成玻璃。之后,效果非常漂亮。入门课程非常适合初学者。 Landscape painting is always a product of our excellent Chinese civilization, its charm is inexhaustible, …

如何利用word技术对单词表中的数据

如何利用word技术对单词表中的数据

排序,数据,词表,技术,电脑软件,当我们使用word来创建和编辑表单时,有时需要对表中的数据进行排序。接下来,萧边,我想和你分享一个表排序方法在字。欢迎阅读: 排序是什么 排序是计算机中经常执行的一种操作。其目的是为了调节一组序列记录;无序…

PS图象处理软件创造了一个漂亮的巧

PS图象处理软件创造了一个漂亮的巧

图象,处理软件,创造了,漂亮,惠而浦,本教程介绍给朋友,PS图象处理软件,创建一个美丽和强大的巧克力旋涡心情的方法。这个教程的效果真的很好。建议喜欢的朋友一起学习,希望能对你有所帮助。 这部分告诉你利用PS图象处理软件创造一个美丽富饶的…

Excel如何在表顶部的excel表中设置

Excel如何在表顶部的excel表中设置

设置,背景,如何在,电脑软件,Excel,Excel是微软办公系统的电子表格程序。你可以用Excel创建一个工作簿(收集电子表格)并设置工作簿的格式对数据进行分析,并做出更明智的业务决策。特别是,您可以使用Excel来跟踪数据,生成的数据分析模型,编制计算公…

非主流情感签名

非主流情感签名

非主流,情感,电脑软件,网络社会的不断发展带动了社会各界,互联网的更新速度是惊人的,在浩瀚的网络中,你也希望我能留下一个难忘的印记或符号,这里是编者为你排序的非主流感情签名的情侣,希望有你的爱。 1,我收回记忆,切断你所有的消息 2。对不起,俄…

PS鼠标彩绘的香皂非常漂亮。

PS鼠标彩绘的香皂非常漂亮。

鼠标,彩绘,漂亮,电脑软件,PS,本教程是介绍SOAP朋友PS鼠标的方法,画的很漂亮的纹理,做的很好的soap教程,推荐给喜欢的朋友来学习一下。 本教程教学习者使用PS鼠标画PS鼠标绘制贴图的SOAP肥皂,教程很漂亮,渲染也不难,推荐朋友分享学习,希望大家喜欢…

PS拍摄一个美丽的女人蹲在丛林中创

PS拍摄一个美丽的女人蹲在丛林中创

童话故事,创造一个,丛林,一个美丽,神奇,本文主要介绍了PS在丛林中的一个美丽女子的故事,创造了一个神奇的童话,后来的思想决定了魔法童话,所以整个色调接近扭曲和梦想的效果,一个坐在森林里的模型,非常适合一个光照下来(廷德尔效应)。 原来的电影…

介绍PS的配置要求和新特点

介绍PS的配置要求和新特点

配置,电脑软件,PS,配置要求 Photoshop8.0 PowerPC(R)G3、G4或G5 Mac OS X 10.2.4处理器版本到10.3版,用java运行时环境1.4.1 192mb RAM(推荐256MB)320mb可用硬盘空间彩色显示1024X768 16位色或更高的视频卡或更高分辨率的显示器驱动PS CS6 被称…

经典人格签名英文经典个性签名

经典人格签名英文经典个性签名

英文,经典,个性签名,人格,电脑软件,每个人都有自己的签名。你必须绞尽脑汁才能使你的签名与众不同。现在没有必要纠结了。这里是一些经典英文个性签名推荐萧边。你看到了吗 1,有些人永远不会被遗忘,有些人永远是代替品。 有些人永远不会被遗…