http://www.byywee.com/page/M0/S919/919762.html
移动端 触摸事务 ontouchstart、ontouchmove、ontouchend、ontouchcancel
Admin
2013年11月20日
名人名言:假如青春是一种缺陷的话,那也是我们太快就会失去的缺陷。——洛威尔
起原 http://hi.baidu.com/study_sweet/item/fc6ac732a216dd8db711dba5
1、Touch事务简介
pc上的web页面鼠 标会产生onmousedown、onmouseup、onmou搜刮引擎优化ut、onmou搜刮引擎优化ver、onmousemove的事务,然则在移动终端如 iphone、ipod Touch、ipad上的web页面触屏时会产生ontouchstart、ontouchmove、ontouchend、ontouchcancel 事务,分别对应了触屏开端、拖拽及完成触屏事务和作废。
当按下手指时,触发ontouchstart;
当移下手指时,触发ontouchmove;
当移走手指时,触发ontouchend。
当一些更高等此外事务产生的时辰(如德律风接入或者弹出信息)会作废当前的touch操纵,即触发ontouchcancel。一般会在ontouchcancel时暂停游戏、存档等操纵。
2、Touch事务与Mouse事务的出发关系
在触屏操纵后,手指提起的一刹那(即产生ontouchend后),体系会断定接管到事务的element的内容是否被改变,若是内容被改变,接下来的事 件都不会触发,若是没有改变,会遵守mousedown,mouseup,click的次序触发事务。希罕须要提到的是,只有再触发一个触屏事务时,才会 触发上一个事务的mou搜刮引擎优化ut事务。
3、gesture事务
Gesture事务,包含手指导击(click),轻拂 (flick),双击(double-click),手指的分隔、闭合(scale)、迁移转变(rotate)等一切手指能在屏幕上做的工作,它只在有两根 或多根手指放在屏幕上的时辰触发,事务处理惩罚函数中会获得一个GestureEvent类型的参数,它包含了手指的scale(两根移动过程平分隔的比例) 信息和rotation(两根手指间连线迁移转变的角度)信息。这个事务是对touch事务的更高层的封装,和touch一样,它同样包含 gesturestart,gesturechange,gestureend。
gesture事务触发过程:
Step 1、第一根手指放下,触发touchstart
Step 2、第二根手指放下,触发gesturestart
Step 3、触发第二根手指的touchstart
Step 4、立即触发gesturechange
Step 5、手指移动,连气儿触发gesturechange,就像鼠标在屏幕上移动的时辰不绝触发mousemove一样
Step 6、第二根手指提起,触发gestureend,今后将不会再触发gesturechange
Step 7、触发第二根手指的touchend
Step 8、触发touchstart!重视,多根手指在屏幕上,提起一根,会刷新一次全局touch!从头触发第一根手指的touchstart
Step 9、提起第一根手指,触发touchend