File tree Expand file tree Collapse file tree 2 files changed +37
-3
lines changed
Expand file tree Collapse file tree 2 files changed +37
-3
lines changed Original file line number Diff line number Diff line change 5959- events/model.md : 事件模型
6060- events/event.md : Event 对象
6161- events/mouseevent.md : MouseEvent 接口,WheelEvent 接口
62- - events/touchevent.md : Touch 接口,TouchList 接口,TouchEvent 接口
6362- events/keyboardevent.md : KeyboardEvent 接口,InputEvent 接口,CustomEvent 接口
64- - events/drag.md : 触摸操作
63+ - events/touch.md : 触摸操作
64+ - events/drag.md : 拖拉操作
6565- events/globaleventhandlers.md : GlobalEventHandlers 接口
6666- bom/ : 浏览器模型
6767- bom/cookie.md : Cookie
Original file line number Diff line number Diff line change 1- # Touch 接口,TouchList 接口,TouchEvent 接口
1+ # 触摸操作
22
33## 触摸操作概述
44
@@ -202,3 +202,37 @@ function touches_in_target(ev) {
202202
203203上面代码用来判断,是否所有触摸点都在目标元素内。
204204
205+ ## 触摸事件的种类
206+
207+ 触摸引发的事件,有以下几种。可以通过` TouchEvent.type ` 属性,查看到底发生的是哪一种事件。
208+
209+ - ` touchstart ` :用户开始触摸时触发,它的` target ` 属性返回发生触摸的元素节点。
210+ - ` touchend ` :用户不再接触触摸屏时(或者移出屏幕边缘时)触发,它的` target ` 属性与` touchstart ` 事件一致的,就是开始触摸时所在的元素节点。它的` changedTouches ` 属性返回一个` TouchList ` 实例,包含所有不再触摸的触摸点(即` Touch ` 实例对象)。
211+ - ` touchmove ` :用户移动触摸点时触发,它的` target ` 属性与` touchstart ` 事件一致。如果触摸的半径、角度、力度发生变化,也会触发该事件。
212+ - ` touchcancel ` :触摸点取消时触发,比如在触摸区域跳出一个情态窗口(modal window)、触摸点离开了文档区域(进入浏览器菜单栏)、用户的触摸点太多,超过了支持的上限(自动取消早先的触摸点)。
213+
214+ 下面是一个例子。
215+
216+ ``` javascript
217+ var el = document .getElementsByTagName (' canvas' )[0 ];
218+ el .addEventListener (' touchstart' , handleStart, false );
219+ el .addEventListener (' touchmove' , handleMove, false );
220+
221+ function handleStart (evt ) {
222+ evt .preventDefault ();
223+ var touches = evt .changedTouches ;
224+ for (var i = 0 ; i < touches .length ; i++ ) {
225+ console .log (touches[i].pageX , touches[i].pageY );
226+ }
227+ }
228+
229+ function handleMove (evt ) {
230+ evt .preventDefault ();
231+ var touches = evt .changedTouches ;
232+ for (var i = 0 ; i < touches .length ; i++ ) {
233+ var touch = touches[i];
234+ console .log (touch .pageX , touch .pageY );
235+ }
236+ }
237+ ```
238+
You can’t perform that action at this time.
0 commit comments