touch 事件 一般值得是四个事件:
touchstart事件:当手指触摸屏幕时候触发
touchmove事件:当手指在屏幕上滑动的时候连续地触发(在这个事件发生期间,调用preventDefault()事件可以阻止滚动。)
touchend事件:当手指从屏幕上离开的时候触发
touchcancel事件:当触摸点被中断时会触发touchcancel
事件,根据自己的具体实现而有所不同(使用很少)
event 属性
touches: 当前屏幕上所有触摸点的列表数组
targetTouches: 当前对象上所有触摸点的列表数组
changeTouches:涉及当前(引发)事件的触摸点的列表数组
1.当一个触摸点,则3个值相同;
2. 用第二个手指接触屏幕,两个接触点,touches有两个元素,每个手指触摸点为一个值
targetTouches和touches的情况:
当两个手指触摸相同元素时,targetTouches和touches的值相同,
当两个手指触摸不相同元素时,每一个事件监听到的targetTouches,changedTouches一个值,不相同
3. 用两个手指同时接触屏幕,因为触发事件的是两个手指,所以、changedTouches有两个值,每一个手指的触摸点都有一个值,
4. 手指滑动时,三个值都会发生变化
5. 一个手指离开屏幕,touches和targetTouches中对应的元素会同时移除,而changedTouches仍然会存在元素
6. 手指都离开屏幕之后,touches和targetTouches中没有值,changedTouches还会有一个值(为后触发事件的元素)此值为最后一个离开屏幕的手指的接触点。
Touch对象包含的属性
clientX:触摸目标在视口中的x坐标。
clientY:触摸目标在视口中的y坐标。
pageX:触摸目标在页面中的x坐标。
pageY:触摸目标在页面中的y坐标。
screenX:触摸目标在屏幕中的x坐标。
screenY:触摸目标在屏幕中的y坐标。
identifier:标识触摸的唯一ID。
target:触摸的DOM节点目标。
实践的例子:
https://www.cnblogs.com/GoTing/p/15076565.html
参考:https://www.cnblogs.com/mengff/p/6005516.html