ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:7668回复:1

关于微信手机端IOS系统中input输入框无法输入的问题

楼主#
更多 发布于:2018-10-12 22:22
在移动端开发中,我们有时有针对性的写一些特殊的重置,比如:
* {
      -webkit - touch - callout: none;
    //-webkit-touch-callout:none; 阻止长按图片之后呼出菜单提示复制的行为 //禁用Webkit内核浏览器的文字大小调整功能。
    -webkit-text-size-adjust: none;
//避免点击a标签或者注册了click事件的元素时产生高亮
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  //
    //禁止用户进行复制.选择.
    -webkit-user-select: none;
}

其中,-webkit-user-select :none ;会产生一些问题。
这是webkit内核浏览器下的一个bug,具体可以参考这篇文章:https://bugs.webkit.org/show_bug.cgi?id=82692


 
阻止了用户的选择内容行为,会导致一些“内容可编辑”标签无法正常使用,比如input、testarea。


如果网站不需要阻止用户的选择内容的行为就可以使用如下样式:
  * {
    -webkit-user-select: text;
    -user-select: text;
}






另一种方式:




*: not(input, textarea) {
    -webkit - touch - callout: none;
    -webkit - user - select: none;
}




user-select , can cause issues in elements with contenteditable="true" ,so better to add that too .




所以,最好把它也加上。










最终的代码:




[contenteditable = "true"], input, textarea {
    -webkit-user- select: auto!important;
    -khtml-user-select: auto!important;
    -moz-user-select: auto!important;
    -ms-user-select: auto!important;
    -o-user-select: auto!important;
    user-select: auto!important;
}





上面内容大概就是 这么多。但是我一一试了,在我的代码中并没有 卵用。
后来开始用排除法去清查css样式表,发现在ios系统下面,布局方式使用的事 rem方式去布局的话,正巧,在input上面书写了rem的宽或者高。
那么恭喜你,在真机上测试是 拿不到焦点的,必须用px或者百分比去代替。
不知道有没有 其他人像我一样遇到。
ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
沙发#
发布于:2018-10-12 22:22
游客


返回顶部