项目调用滑块插件jRange,每次进行滑动时,页面就会报如下警告:
出现该警告的原因:
chrome 监听touch类事件报错:无法被动侦听事件preventDefault
解决办法有两个:
1.在touch的事件监听方法上绑定第三个参数{ passive: false },
通过传递 passive 为 false 来明确告诉浏览器:事件处理程序调用 preventDefault 来阻止默认滑动行为。
elem.addEventListener(
'touchstart',
fn,
{ passive: false }
);
2.全局样式去掉
* { touch-action: pan-y; }
两种办法都是亲测有效的,由于现在的项目报错是因为调用插件jRange产生的,所以相对于与该插件的源码中修改,改动全局样式是比较简单的,所以我这里采用的是第二种方案。