javascript - Android 浏览器 touchend 事件错误解决方法

标签 javascript jquery mobile mobile-website android-browser

我一直在为我的主页开发一个移动网站,但在连接到移动触摸事件时遇到了问题。基本上我想完成以下任务:

  1. 用户向下滚动
  2. 触发 touchend 事件 --> 调用一个函数来计算滚动后隐藏在上方的文档的数量(如 jQuery scrollTop)
  3. 程序根据隐藏在顶部的文档的数量采取行动

我的问题如下。因此 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/

相关文章:

javascript - 如何在着色器中处理 Float32Array? (WebGL)

javascript - img 后的段落不会展开

JQuery 淡出然后加载

javascript - 如何在不使用多个parent()调用的情况下找到(元素表的)第一个祖先?

jQuery:单击外部元素到 "close"使用toggleClass 出现的菜单

PHP手机浏览器检测?

css - 网站不会在移动设备上滚动

javascript - 插入大量动态 DOM 元素时性能低下

javascript - JQuery DataTables 默认排序不起作用

javascript - 移动 DIV 禁用按钮 0px 左边距