【发布时间】:2015-08-02 23:35:30
【问题描述】:
许多移动浏览器(iOS Safari until v8、iOS Chrome 和我认为一些 Android 浏览器)不会在页面滚动时触发多个滚动事件 - 相反,它们只会在移动发生时触发单个滚动事件停下来。
有没有办法对这种行为进行特征检测?
【问题讨论】:
标签: javascript mobile
许多移动浏览器(iOS Safari until v8、iOS Chrome 和我认为一些 Android 浏览器)不会在页面滚动时触发多个滚动事件 - 相反,它们只会在移动发生时触发单个滚动事件停下来。
有没有办法对这种行为进行特征检测?
【问题讨论】:
标签: javascript mobile
对于不知情的人,可以查看here 的一篇很好的文章来打破这种行为。
至于您的问题,您可能可以通过等待查看在touchmove 事件之后是否触发了scroll 事件来“特征检测”它?这不是一个完美的解决方案,但它会在用户第一次滚动后起作用。也就是说,触摸事件是still a little quirky themselves。
也就是说,鉴于所有不同移动浏览器的行为怪癖,您可能需要找到一个替代解决方案来解决您试图解决的任何问题——滚动行为在移动浏览器中的定义不是很好,因为然而,它会变得非常难以高效地处理。
【讨论】: