最近在开发项目时,遇到一个问题,使用iscroll实现的页面滚动,测试时发现在chrome浏览器中的模拟移动设备页面不能平滑滚动,有卡顿现象,在android手机端也有同样的问题。
在github上搜索了iscroll的相关问题,以下是对一些觉得对此问题解决有帮助的一些回答的总结。
解决办法:通过在head标签中加<script>window.PointerEvent = undefined</script>
中解决了我项目中遇到的问题。
iScroll具有未记录的disablePointer设置,可用于以更有序的方式禁用指针事件。传递disablePointer:true似乎可以解决最新版本的Chrome的问题。(Chrome 55之前PointerEvents对象不存在)
我也尝试了下面的方法,但是只解决了chrome浏览器中的卡顿问题,android系统仍然有卡顿现象。
在iscroll.js v5.2
更改行298从
disablePointer:!utils.hasPointer,
disableTouch:utils.hasPointer || !utils.hasTouch,
disableMouse:utils.hasPointer || utils.hasTouch,
以
disablePointer:true,
disableTouch:false,
disableMouse:true,
参考文档:https://github.com/cubiq/iscroll/issues/1100