移动中的滚动事件触发延迟

时间:2016-07-12 11:02:10

标签: javascript mobile scroll

我有滚动的事件监听器,一切正常与桌面浏览器(当滚动开始时 - 事件直接开始)和Chrome浏览器在移动(Chrome最新版本+安卓版5.0),但与其他移动浏览器(ff) ,浏览器这个工作方式不同,谷歌搜索后我找到了原因:它是因为滚动事件没有被触发,直到滚动动作完全停止(从屏幕释放手指)。

我的问题是有一些解决方法,也许是一些最佳实践,因此它会正常启动(如桌面)并且没有显着的性能变化?

*仅限JS解决方案(不适用于jquery)。

2 个答案:

答案 0 :(得分:2)

您可以使用iScroll。它不依赖于jQuery并实现你想要的东西(在移动平台上连续发射滚动事件)等等。

您可以参考this answer了解如何使用iScroll实现此目的。

答案 1 :(得分:1)

我同意Mohit Bhardwaj的回答,我只想说一些关于iScroll的重要事项。

iScroll运行依赖于css3 translate和js事件,如touchMove,touchStart和touchEnd。您可以认为它处理页面中的整个滚动系统或您设置它要处理的元素容器。 有一点你应该知道,如果你想在iScroll中监听滚动事件,你必须导入iscroll-probe.js,并将probeType参数设置为2或3.否则你不会得到滚动事件。

iScroll版本5很好,我在很多项目中使用它。你可以看到它的文档和代码 here