标签:web
一、支持webkit的touch事件
pc上的web页面鼠标会产生 iphone、ipod Touch、ipad上的web页面触屏时会产生ontouchstart、ontouchmove、ontouchend、ontouchcancel 事件,分别对应了触屏开始、拖拽及完成触屏事件和取消。
1、touchstart——当手指触碰屏幕时候发生。不管当前有多少只手指
2、touchmove——当手指在屏幕上滑动时连续触发。通常我们再滑屏页面,会调用event的preventDefault()可以阻止默认情况的发生:阻止页面滚动
3、touchend——当手指离开屏幕时触发
4、touchcancel——系统停止跟踪触摸时候会触发。例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用
二、每个触摸事件都包括了三个触摸列表
1、touches:当前位于屏幕上的所有手指的一个列表。
2、 targetTouches:位于当前DOM元素上的手指的一个列表。
3、changedTouches:涉及当前事件的手指的一个列表。
三、这些列表由包含了触摸信息的对象组成
1、 identifier:一个数值,唯一标识触摸会话(touch
session)中的当前手指。
2、target:DOM元素,是动作所针对的目标。
3、客户/页面/屏幕坐标:动作在屏幕上发生的位置。
4、半径坐标和
rotationAngle:画出大约相当于手指形状的椭圆形。
四、Touch事件与Mouse事件的关系
在触屏操作后,手指提起的一刹那(即发生ontouchend后),系统会判断接收到事件的element的内容是否被改变,如果内容被改变,接下来的事件都不会触发,如果没有改变,会按照mousedown,mouseup,click的顺序触发事件。特别需要提到的是,只有再触发一个触屏事件时,才会触发上一个事件的mouseout事件。
五、支持winphone 8的touch事件
1、MSPointerDown——当手指触碰屏幕时候发生。不管当前有多少只手指
2、MSPointerMove——当手指在屏幕上滑动时连续触发。通常我们再滑屏页面,会调用css的html{-ms-touch-action: none;}可以阻止默认情况的发生:阻止页面滚动
3、MSPointerUp——当手指离开屏幕时触发
参考资料: 移动端touch事件 http://www.studyofnet.com/news/849.html
本文出自 “学习也休闲” 博客,请务必保留此出处http://studyofnet.blog.51cto.com/8142094/1681531
标签:web
原文地址:http://studyofnet.blog.51cto.com/8142094/1681531