首页 > 网站 > WEB开发 > 正文

Android 4.x touchmove事件兼容问题

2024-04-27 15:09:02
字体:
来源:转载
供稿:网友

时隔已久,没有写技术博客了。对于过去的2016年,总的来说是迷茫、挣扎、痛苦的。2017年,开端貌似不错,可能正视了自己的挫折,也稍微摆正了自己的态度吧

进入主题:Android 4.x touchmove事件兼容问题。

在开发 hybridApp 中,Android开发同事说在4.x的lg手机上,有滑不动的情况,看了之后发现是touchmove事件的问题。在4.x中,touchmove滑动只会动一下,所以无法得到准确的滑动距离,而我的代码中是要获取到这段move的距离的。


解决方法

一开始在touchstart中添加了e.PReventDefault();阻止了默认行为之后,可以左右滑动了。但是存在一个问题,自带的滚动被禁掉了。最后的解决方法,针对5.0以下的做特殊处理

代码

在touchmove中:

if(_t.data.clientType == 'Android'){ var ua = window.navigator.userAgent; if(parseInt(ua.split('Android ')[1].split(';')[0]) < 5){ e.preventDefault(); }}//计算距离代码var touch = e.touches[0];maintouch_x_end = touch.pageX;maintouch = maintouch_x_end - maintouch_x;maintouch_y_end = touch.pageY;mainy = maintouch_y_end - maintouch_y;// 计算滚动代码if(_t.data.clientType == 'Android'){ var ua = window.navigator.userAgent; if(parseInt(ua.split('Android ')[1].split(';')[0]) < 5){ _t.dom.main.find('.mainwrap').scrollTop(startTop - mainy*1.2) }}

最后

写的代码有点蠢,特别是判断版本那段


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表