iscroll在谷歌浏览器中bug

今天在做上拉加载更多数据的时候,用的是iscroll5这个插件,貌似现在移动端都是用的这个插件,刚开始引入各种包后,都没有什么问题,但是用谷歌浏览器就是展现不出那种上拉到底部或者顶部回弹的效果,后来查了资料 发现是少了 document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
}

加上以后发现PC端的可以了 但是移动端的chrome浏览器 还是没有效果 ,就是拉到顶部或者底部都是一卡一卡的 图片描述

还有touchmove的阻止之间一定要在body加载完执行吗?我把onload去掉 发现不行。 这问题困扰了好久

阅读 5.6k
3 个回答

关闭 PointerEvent 即可

全局关闭

chrome://flags/#enable-pointer-events

局部关闭

<!-- 将这段代码放在 head 标签内 -->
<script>window.PointerEvent = void 0</script>

建议加一层click事件监听,浏览器对move的事件支持不是特别的好

iScroll可以选择关闭Pointer事件、Mouse事件或者Touch事件。

options.disableMouse、options.disablePointer、options.disableTouch

默认情况下,iScroll监听所有的指针事件,并且对这些事件中第一个被触发的做出反应。这看上去是浪费资源,但是在大量的浏览器/设备上兼容,特定的事件侦测证明是无效的,所以listen-to-all是一个安全的做法。

如果你有一种设备侦测的内部机制,或者你知道你的脚本将在什么地方运行,你可以把你不需要的事件禁用(鼠标,指针或者触摸事件)。

引用来源:iScroll API

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题