移动端touch事件影响界面click/超连接事件没法点击

触摸事件:html

三种在规范中列出并得到跨移动设备普遍实现的基本触摸事件:vue

1.touchstart:手指放在一个DOM元素上。session

2.touchmove:手指拖曳一个DOM元素。ide

3.touchend:手指从一个DOM元素上移开。动画

每一个触摸事件都包括了三个触摸列表:spa

1.touches:当前位于屏幕上的全部手指的一个列表。htm

2.targetTouches:位于当前DOM元素上的手指的一个列表。对象

3.changedTouches:涉及当前事件的手指的一个列表。blog

例如,在一个touchend事件中,这就会是移开的手指。事件

这些列表由包含了触摸信息的对象组成:

1.identifier:一个数值,惟一标识触摸会话(touchsession)中的当前手指。

2.target:DOM元素,是动做所针对的目标。

3.客户/页面/屏幕坐标:动做在屏幕上发生的位置。

4.半径坐标和rotationAngle:画出大约至关于手指形状的椭圆形。

 

这两天本身在作一个移动端APP,要用到滑动触发动画的效果,作完以后发现滑动和动画能够顺利完成,可是页面其余的超连接和click点击事件却没法点击了,用到的库是zepto和vue。

以后排查发现问题多是出在event事件中,就把touchstart和touchend事件的默认行为取消了(e.preventDefault()),取消后发现能够点击了,可是滑动效果大打折扣了,从右边滑动回左边的时候效果很是差,而后就上百度查,发现有一篇文章

https://www.cnblogs.com/lvmingyin/p/5372678.html

以后把阻止默认行为添加到touchmove 就OK了。

相关的文章地址: http://caibaojian.com/mobile-touch-event.html

相关文章
相关标签/搜索