对于移动端的触摸事件,我们通过touchstart、touchmove、touchend实现,PC端一般使用mousedown、mousemove、mouseup实现。
我们获取事件坐标,原生js获取方式
| mousedown | event.pageX |
| mousemove | event.pageX |
| mouseup | event.pageX |
| touchstart | event.touches[0].pageX & event.changedTouches[0].pageX & event.targetTouches[0].pageX |
| touchmove | event.touches[0].pageX & event.changedTouches[0].pageX & event.targetTouches[0].pageX |
| touchend | event.touches[0].pageX & event.changedTouches[0].pageX & event.targetTouches[0].pageX |
jQuery获取方式
| mousedown | event.pageX |
| mousemove | event.pageX |
| mouseup | event.pageX |
| touchstart | event.originalEvent.touches[0].pageX & event.originalEvent.changedTouches[0].pageX & event.originalEvent.targetTouches[0].pageX |
| touchmove | event.originalEvent.touches[0].pageX & event.originalEvent.changedTouches[0].pageX & event.originalEvent.targetTouches[0].pageX |
| touchend | event.originalEvent.changedTouches[0].pageX & event.originalEvent.targetTouches[0].pageX |
其中关于touch触摸事件的触摸列表:
touches :当前位于屏幕上的所有手指的一个列表。
targetTouches :位于当前DOM元素上的手指的一个列表。
changedTouches :涉及当前事件的手指的一个列表。
对于jQuery中在移动端获取坐标使用的event.originalEvent,有以下:
It's also important to note that the event object contains a property called originalEvent, which is the event object that the browser itself created. jQuery wraps this native event object with some useful methods and properties, but in some instances, you'll need to access the original event via event.originalEvent for instance. This is especially useful for touch events on mobile devices and tablets.
event.originalEvent is usually just the native event (also described here).
However, if the browser is compatible, and the event was a touch event then that API will be exposed through event.originalEvent.
The short answer is that event.originalEvent is not always the same, it depends on which event type triggered the handler, and on the environment of the browser.
关于event.originalEvent说明的地址链接:http://stackoverflow.com/questions/16674963/event-originalevent-jquery
关于touch事件的补充内容地址链接:http://blog.youkuaiyun.com/clh604/article/details/9861411
本文详细介绍了如何在移动端和PC端通过原生JS和jQuery获取触摸和鼠标事件的坐标,包括mousedown、mousemove、mouseup、touchstart、touchmove和touchend等事件的处理方式,以及touches、targetTouches和changedTouches列表的区别。
1217

被折叠的 条评论
为什么被折叠?



