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