您的位置:首页 > Web前端 > 其它

移动端touch事件

更多 2015/3/23 来源:Web前端学习浏览量:1203
学习标签: 手机网站
本文导读:智能手机和平板电脑一类的移动设备通常会有一个事件,以捕捉用户的手指所做的交互,当用户手指放在移动设备在屏幕上滑动会触发的touch事件。随着移动网络的发展,其能够支持越来越复杂的应用,下面介绍移动端touch事件的用法

一、支持webkit的touch事件

pc上的web页面鼠标会产生onmousedown、onmouseup、onmouseout、onmouseover、onmousemove的事件,但是在移动终端如 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——当手指离开屏幕时触发

 

收藏
202
很赞
171
您可能感兴趣