您可以通过以下步骤取消原生下拉刷新事件:

  1. 阻止默认事件

在 touchstart 事件中,使用 preventDefault() 方法阻止浏览器默认的下拉刷新事件:

document.addEventListener('touchstart', function(e) {
  e.preventDefault();
}, { passive: false });
  1. 监听 touchmove 事件

在 touchmove 事件中,判断用户是否在下拉,并且滚动到页面顶部。如果是,则阻止默认事件:

var startY = 0; // 记录触摸起始位置

document.addEventListener('touchstart', function(e) {
  startY = e.touches[0].clientY; // 记录触摸起始位置
}, { passive: false });

document.addEventListener('touchmove', function(e) {
  var distanceY = e.touches[0].clientY - startY; // 计算滑动距离
  if (distanceY > 0 && window.scrollY === 0) {
    e.preventDefault(); // 阻止下拉刷新事件
  }
}, { passive: false });
  1. 取消指针事件

在 CSS 中,使用 touch-action 属性取消指针事件:

body {
  touch-action: none;
}

这样就可以取消原生下拉刷新事件了。

怎么取消原生下拉刷新事件

原文地址: http://www.cveoy.top/t/topic/buXK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录