转载请注明出处:http://blog.youkuaiyun.com/awebkit
今天在看 w3c 中关于 touchevents 部分 http://www.w3.org/TR/touch-events/ ,看到讲解
List of TouchEvent
types 部分,不理解 touchstart , touchend , touchmove , touchcancel 与 TouchEvent 的关系。
我们在浏览器里面是实现 touchstart 等的?他们是 TouchEvent 吗?
没有 touchstart 等的 idl ,说明没有这样的类。
touchstart 等应该是 TouchEvent 的一些类型,那么,哪里记载这些类型呢?
继续看 TouchEvent ,继承于 UIEvent ,UIEvent 继承于 Event ,而 Event 的 idl 中记载了如下
readonly attribute DOMString type; 原来在这里记录啊
以 touchstart 为例
底层根据触屏事件,计算后如果认定这是一个 touchstart 事件,则产生 TouchEvent ,由于 TouchEvent 继承于 Event ,因此,其 type 对应 "touchstart"
由这个想到,我们需要的是事件的具体类型如 mousedown,而 w3c / 浏览器 描述的是一个概念。
总结:
浏览器中的任何 Event ,都有一个字符串形式的
类型 (这是js真正关心的,当然也需要理解 Event)