Don*_*n H 7 mobile jquery android
我正在使用iScroll.js滚动浏览移动页面上的项目轮播.我发现以下修复程序侦听垂直移动并停止iScroll脚本控制,让原生垂直滚动发生:
onBeforeScrollStart: function(e) {
try {
point = e.touches[0];
pointStartX = point.pageX;
pointStartY = point.pageY;
} catch(e) {}
null;
},
onBeforeScrollMove: function(e) {
try {
deltaX = Math.abs(point.pageX - pointStartX);
deltaY = Math.abs(point.pageY - pointStartY);
if (deltaX >= deltaY) {
e.preventDefault();
} else {
null;
}
} catch(e) {}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用try {} catch {},因为它在浏览器中进行测试时遇到了一些问题(抱怨点未被定义).
我遇到的问题是它在iOS上运行良好,在多个i设备上进行了测试,但在Android上并不是那么好.如果用户尝试垂直滚动页面,首先将手指放在旋转木马上,页面不会滚动,因为iScroll仍然可以控制.
知道如何让它在Android上运行,或任何指向它可能出错的地方吗?
编辑:
一些调试,我发现可能为什么这不起作用.当用户触摸iOS上的屏幕时,坐标正在更新,但在Android上,只有第一组坐标被捕获.知道为什么会这样吗?
小智 0
您的 onBeforeScrollMove 范围内似乎没有“点”。此外,某些 Android 设备可能会通过多点触控调用点击事件(我无法确认这一点,但由于平台碎片化,只能进行理论推测)
我有一个很好的脚本,我很快就会发布,它接受点击事件并使用“鼠标”作为触摸的标识符属性来模拟独特的多点触控事件,这可能对调试有一些帮助。我会尝试在明天晚上之前将该项目上线。
由于需要添加许多更新和项目,但这里有一个链接:
编辑:更正,你甚至更新“点”吗?它的范围似乎超出了这段代码并在其中进行了更改。如果您发布其余的代码可能会有所帮助。
| 归档时间: |
|
| 查看次数: |
2191 次 |
| 最近记录: |