开发过程中的问题

435 阅读1分钟

做项目的时候遇到了一个隐藏很深的bug

项目需要获得输入框光标放在的位置,但是由于中英文切换会导致捕获不准,识别不了 IME(键盘事件) 是否结束掉,提前发出,而实际发出打完 空格的时候,并未触发onChange事件。

解决办法:
onCompositionStart:监控IME启动
onCompositionend: 监控IME 关闭

let 一个变量,让他启动的时候不走onchange事件,等到 IME事件关闭的时候在跑

双击复制导致自带换行符(可通过element 查看)

 const valReg = new RegExp(/[\r\n]/g);
 if(valReg.test(value)){
    testV.replace(/[\r\n]/g, '');
 }

在IOS中点击会产生灰色半透明的遮罩层

想要禁用的话: -webkit-tag-highight-color的alpha 为 0

例如:a,button,input {
-webkit-tag-highight-color: rgba(0,0,0,0)
}

禁止IOS和安卓选中文字

-webkit-user-select: none

fixed BUG

fix定位容易出错,软键盘弹出可能会影响,安卓就不会

在开发vue中 cmd + s保存的时候会自动打包dist文件,把它改为true

image.png

create-react-app创建项目由于其内置react-error-overlay,每次热更新都会导致产生错误覆盖, 此错误非常影响开发效率及速度!!!!!
必须依靠刷新页面才能恢复!!!!真的烦人

image.png

解决问题链接

解决方法:body > iframe {display:none}

如果使用了这个插件,antd-dayjs-webpack-plugin 则 moment就不能使用 moment.duraton(0)'asQuarters'.