今天在项目中遇到在苹果手机中无法输入的问题。
我的安卓手机和在谷歌手机模拟器上都没出现这个问题,但是有同事告诉我他的苹果手机无法输入。我自己试了下他的手机果然点击输入框没有任何反应。
我觉得可能是css的问题,于是在项目的全局css里寻找关于input框的css。
结果我发现了这样一行代码:
*{
-webkit-user-select:none;
}
好吧,这行代码是前人留下的代码。字面意思是禁止用户选择,可能是它造成的无法输入。
我试着注释了这行代码,结果在苹果手机下就可以正常输入了。
查询资料发现,这句css是为了禁止用户复制页面内的文本而加的。
但是苹果手机的输入框获取焦点是需要允许用户选择的,如果禁止就会无法获取input框焦点,出现无法输入的问题。
替代的解决办法是:
*:not(input){
-webkit-user-select:none;
}