我一直在为我的主页开发一个移动网站,但在连接到移动触摸事件时遇到了问题。基本上我想完成以下任务:
- 用户向下滚动
- 触发 touchend 事件 --> 调用一个函数来计算滚动后隐藏在上方的文档的数量(如 jQuery scrollTop)
- 程序根据隐藏在顶部的文档的数量采取行动
我的问题如下。因此 touchend 在 iOS 中的工作方式与预期的一样,当用户抬起手指时,该函数会调用 jQuery.scrollTop() ,它会为我提供一个像素值,表示用户向下滚动了多少。然而,在 Android 浏览器设备上,jQuery.scrollTop() 值似乎是在 touchstart 上计算的。也就是说事件没有正确触发,我从 touchend 事件中得到了正确的 pageX 和 Y 坐标,但是 scrolltop() 返回了用户开始滚动时的值。我在 inet 上查了一下,这似乎是一个已知的 android 浏览器错误,我想知道的是是否有解决此问题的合适方法,即不涉及阻止默认滚动行为的方法!?提前致谢!
最佳答案
您是否考虑了平滑滚动?或者只是基本的滚动? 通过基本滚动,您应该能够通过使用 document.body.scrollTop 简单地获得正确的值
如果有问题请告诉我
关于javascript - Android 浏览器 touchend 事件错误解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237669/