小问题集合

1.better-scroll实例化完成,但是页面不能滚动

使用better-scroll局部滑动js库,在vue中使用时,异步加载该js,但是滚动不了,初始化better-scroll发现初始化对象中hasVerticalScroll为false,scrollHeight,wrapperHeight都是0,说明并没有初始化成功,注意要等页面加载完才可以初始化,我写的弹层组件局部滚动内容最外层使用了v-show,在加载主页的时候,生命周期函数也会走组件的mounted方法,在这里边执行了初始化better-scroll的操作,但是弹层页面这时候并不需要显示,需求是点击才显示,最后改成了v-if,那个组件在开始的时候并不需要去渲染到页面上

2.html页面中点击图片,图片会自动满屏放大,这是什么情况

解决方式:为img标签加上 img{ pointer-events: none; },但是如果我们的点击事件也是绑定在img标签上的,那么这时候点击事件无效,切记

3.ES6中的一些扩展方法,现代浏览器不完全支持,需要使用垫片的兼容

在项目中,使用了数组的扩展方法,在chrome浏览器中使用没有问题,但那时版本比较高的,低版本的就报错了,原因是没有做兼容 babel-polyfill虽然压缩之后也将近100K,为了不出问题,还是要引入

4.ios中,html页面,input框输入东西,闪退

输入框输入数据,应用闪退了,什么鬼,input框需要根据一定的逻辑来决定是否输入框可编辑,手机如果没有处理点击事件延迟的话,在我们的判断起作用之前系统键盘已经弹出,然后input被加上只读属性,这时候是不可能输入东西的,可能就是这种情况导致闪退了

5.querySelectorAll选取的元素节点集合是一个伪数组,不能使用数组的方法去循环遍历

使用for循环遍历可以解决,当然也可以先把伪数组变成真正的数组然后再使用数组的方法去循环遍历

6.fixed定位在IOS 10中,input标签错位问题

这是ios10系统的bug,如果不能完美的去解决的话,还是使用absolute绝对定位+局部滚动来布局