滑动时候警告:Unable to preventDefault inside passive event listener

1 前言

在制作2048时,需要在手机端添加滑动检测事件,然后发现控制台有警告,如下:

main2048.js:218 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080

2 解决办法:

在touch的事件监听方法上绑定第三个参数{ passive: false },
通过传递 passive 为 false 来明确告诉浏览器:事件处理程序调用 preventDefault 来阻止默认滑动行为。

方法1

elem.addEventListener(
  'touchstart',
  fn,
  { passive: false }
);

方法2

* { touch-action: pan-y; } 
 使用全局样式样式去掉  

3 参考

1. 滑动时候警告:Unable to preventDefault inside passive event listener 

原文地址:https://www.cnblogs.com/fanbi/p/10191915.html