首页 > 移动平台 > 详细

css:touch-action导致安卓无法滚动页面

时间:2020-01-07 17:48:49      阅读:119      评论:0      收藏:0      [点我收藏+]

前言

 

2020新年的第一篇问题 其实也不是第一次遇到这个问题,

主要是在vue 项目里面应用 factclick ,

一个报错红色警告:

[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See…

做了移动端的优化。看完一脸懵逼。其实就是是否阻止默认事件200ms延迟然后再执行滚动行为

但是这个factclick  就是避免延迟的,

解决方案是什么?

全网能搜到的方案是两种,一种是通过css方式,一种是通过js的方式。 css方式:比较简单

touch-action:none 

js方式:在touch的事件监听方法上绑定第三个参数{ passive: false }

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

使用touch-action之后,有新的问题啦, 刺激啊

第一种方案把这行css写到全局中,结果就带来了灾难。 什么问题呢?

就是ios基本都可以的,但是安卓中的页面滚动都没了。这是为什么呢?

这个就要看下touch-action的更官方的触摸说明了。

 

这个是官网 https://cloud.tencent.com/developer/section/1072256

解決方法

先临时把对应的touch:none,全局的写法去掉了,用了js的部分去完成或者只在控制需要的元素内进行指定这行代码。由此也总结了几个问题或者教训吧。

 

但是 有人說;

设置成touch-action: manipulation;

解决300ms延迟-只允许进行滚动和持续缩放操作,这样就不会滚动不了了。

 

我亲自体验试了,可以的 OK 能用css 解决的问题坚决不用 js

 

继续加油

css:touch-action导致安卓无法滚动页面

原文:https://www.cnblogs.com/yf-html/p/12162576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!