我想防止移动chrome(尤其是iOSchrome)的下拉刷新。我的Web应用程序有设备宽度和设备高度视口的垂直平移事件,但是每当平移时,移动chrome都会因为浏览器的默认功能而自行刷新。另外,在Safari浏览器上,平移事件期间屏幕会滚动。我想禁用这些移动。
当然我试过event . prevent default();和触摸-动作:无;但是它看起来不起作用。我应该在body标签上添加eventListner和touch-action吗?我期待有用的例子回答。
对于最新版本的Chrome:
html,
body {
overscroll-behavior-y: contain;
}
旧的解决方案:
自移动版浏览器
document.addEventListener('touchstart', touchstartHandler, {passive: false});
document.addEventListener('touchmove', touchmoveHandler, {passive: false});
试试这个。
body {
/* Disables pull-to-refresh but allows overscroll glow effects. */
overscroll-behavior-y: contain;
}
它对我来说效果很好。由于其他javascript黑客攻击,我遇到了奇怪的滚动问题。阅读这篇文章了解更多详细信息。
https://developers.google.com/web/updates/2017/11/overscroll-behavior
滚动行为没有一个像这样对我有用。
body {
overscroll-behavior: none
}