转 移动端-webkit-user-select:none导致input/textarea输入框无法输入

移动端webview中写页面的时候发现个别Android机型会导致input、textareat输入框无法输入(键盘可以弹起,不是webView.requestFocus(View.FOCUS_DOWN);的问题)

由于移动端我习惯统一初始化样式:

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  outline: none;
}

经过试错发现是-webkit-user-select:none;所导致的原因 
当然如果你确实需要这个-webkit-user-select这个属性,css初始化代码改写为如下即可:

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
*:not(input,textarea) {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
} 

转载 : 
http://www.qdfuns.com/notes/12364/1f589926e8d1d1418fc912f7df10e5d5

原文地址:https://www.cnblogs.com/lst619247/p/8969005.html

时间: 2024-10-14 18:48:22

转 移动端-webkit-user-select:none导致input/textarea输入框无法输入的相关文章

移动端弹出软键盘导致input光标和点击事件错位问题

我遇到的问题:在微信浏览器里,点击蒙层的input框,弹出软键盘,蒙层被顶上去,同时input的焦点和button的点击事件也被顶上去了,软键盘消失,蒙层回到原位,但是点击input和button均没反应,点击蒙层被顶上去的位置有反应,因为input的焦点和button的点击事件没回到原位.这个问题出现在ios中,android手机没问题. 以下是一位大佬写的解决方法,解决了我的问题. 原文地址:https://blog.csdn.net/Doubleu_/article/details/865

-WEBKIT-USER-SELECT:NONE导致输入框无法输入

原文:http://hicc.me/post/webkit-user-select-none-disabling-text-field.html 最近在webview中写页面的时候发现个别Android机型(Google  Nexus,Android 4.2.2)输入框无法输入(但是键盘可以弹起,所以不是网上所说webView.requestFocus(View.FOCUS_DOWN);的问题),经过试错发现是-webkit-user-select:none;所导致的原因. 后来网上再搜,果然有

移动端用js与jquery实时监听输入框值的改动

背景: 在一次移动端H5开发中,需要监听输入框值的实时变动. onchange事件肯定抛弃,因为只能失去焦点才触发. 而keyPress在Android可以触发,iOS不可以. 又不想用Android和iOS都可以触发的keyDown和keyUp. 于是,百度出了新东西:oninput![需要配合propertychange,兼容 IE9 以下版本] 用法: JS: if(isIE) { document.getElementById("input").onpropertychange

chrome表单自动填充导致input文本框背景变成偏黄色问题解决

chrome表单自动填充导致input文本框背景变成偏黄色问题解决 作者:佚名 字体:[增加 减小] 来源:互联网 时间:08-21 18:43:32我要评论 chrome表单自动填充后,input文本框的背景会变成偏黄色的,想必大家都会碰到这种情况吧,这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性造成的,解决方法如下,感兴趣的朋友可以了解下 chrome表单自动填充后,input文本框的背景会变成偏黄色的,这是由于chrome会默认

oracle服务端与客户端字符集不同导致中文乱码解决方案

1.问题描述 用pl/sql登录时,会提示"数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果",具体问题是中文乱码,如下图 2.问题分析 不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的,所以只要将客户端字符集改为和服务端字符集一致就能解决问题. 3.问题解决步骤 3.1查看服务端字符集 pl/sql里查询 select userenv('language') from dual 3.2查看客户端

移动端表层div滑动,导致底层body滑动(touchmove的阻止)

body很长,可以滑动,body头部有一个模拟下拉的选择框,下拉选择有滚动轴 我给body一个overflow:hidden和高度是没有用的.手机网站上背景还是可以滑动,然后我给body一个touchmove的preventdefault()阻止事件,body滑动阻止了,PC上面是可以了,但是手机上面滑动div还是会导致底部body的滑动,我给div 一个阻止冒泡的事件stopPropagation(),手机网站上面还是不可以. 解决方案 我经过反复测试,发现滚动轴滚到底部的时候,会触发body

移动端丨-webkit-overflow-scrolling:touch属性导致页面卡住

起因 起因 -webkit-overflow-scrolling 问题 解决方案: 方案一 方案二 思考为什么会出现这个问题 总结 故事的起因是,在一个多列表的页面上,页面在iOS11,跟iOS10中会发生页面卡住,不能进行滚动. 然后就怀疑是自己的样式写的出了问题,就一直排查定位元素的样式,怎么都找不到问题所在. 但还是本着追根溯源的精神,定位到根元素的样式上有一个-webkit-overflow-scrolling: touch;的样式属性:然后查了一下该属性: -webkit-overfl

Jquery - Select 和 Checkbox 、Textarea的操作

Checkbox //判断是否选中 if ($(this).is(':checked')) { alert("它处于选中状态"); } else { alert("它不处于选中状态"); } if(document.getElementById("checkboxID").checked){ alert("它处于选中状态"); } 选中 $("input:checkbox[name='SNID_PK']")

改变form里面input,textarea.select等的默认样式

因为在项目中有时候需要照顾到整体的色调问题,所以不得不对表单默认的样式进行更改,以下只是对input里的文本颜色做了更改. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> input::-webkit-input-placeholder, texta