关于input不能输入的原因(最后一个很崩溃)

关于input不能输入的原因(最后一个很崩溃)

关于input不能输入的原因

****1.设置了onkeydown属性

onkeydown="return false;"

****2.设置了readonly属性

readonly="readonly"

****3.input框自身设置font-size为0

这种情况比较少见,但是有些时候,为了消除span元素之间的间隔会让font-size为0,此时input框应该是内容区为0*0个像素,如果强行设置input宽高,这时就算input框显示了,因为font-size为零,就啥也输不进去。

****4.input框被其他元素挡住

这种情况大致是因为浮动和z-index引起的,它的特点是即使点击input元素也不会出现选中状态,只要认真排查一下html的结构合不合理,就可以找到问题。

****5.设置了用户不可选中文本,usr-select:none;

*{margin:0;padding:0;user-select: none;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;}

可能会因为浏览器的一些适配问题,导致你设置的user-select:none;影响到了input框的正常事件

6.return false;的使用清除了input框的默认事件

使用stopPropagation(); 可以阻止默认的冒泡事件,使用preventDefault();可以消除默认事件,但是在使用中贪图方便直接用return false;来代替以上两种方法,阻止默认事件用reutrn false,但是在jquery中,reutrn false;既阻止了冒泡,又消除了默认事件,如果不清楚这一点很有可能在使用on绑定事件时,使用reutrn false;消除冒泡的时候也消除了默认事件,导致input框无法输入内容。

****7.我遇到的情况,也是比较崩溃和低级的问题.

集成一个其他公司提供的密码插件,内含一些属性设置,如:

因不希望再增加页面,故想通过后台将参数值直接进行设置.但是问题就出在这里,虽然获取到的属性值是\S,\S{6,8},但实际传值时需要转义!!!很low,很隐蔽.实际传值应在\S前再加转义字符\

📚 相关推荐

《荒野大镖客:救赎2》剧情攻略(三)
英国365

《荒野大镖客:救赎2》剧情攻略(三)

📅 06-28 👁️ 6509
金立M6 Plus体验评测:金无足赤,机无完机
365bet娱乐场注册

金立M6 Plus体验评测:金无足赤,机无完机

📅 09-17 👁️ 3586
手机电话打不出去怎么回事
365bet娱乐场注册

手机电话打不出去怎么回事

📅 08-25 👁️ 9188
【咸鱼之王】别犹豫!金鱼选择:铁血/丹心/巨灵如何选?各主C适配度分析参考!
2024营业执照贷款app哪个好申请?这10个条件低、好申请
365bet体育在线赌博

2024营业执照贷款app哪个好申请?这10个条件低、好申请

📅 07-07 👁️ 6237
①软文街:怎么样写出一篇优秀的软文
英国365

①软文街:怎么样写出一篇优秀的软文

📅 08-04 👁️ 4200
茶饼保存越久越好吗,不是(最佳存放时间为10-20年)
365bet娱乐场注册

茶饼保存越久越好吗,不是(最佳存放时间为10-20年)

📅 09-14 👁️ 5007
怎么查看XP系统是32位还是64位
英国365

怎么查看XP系统是32位还是64位

📅 07-20 👁️ 8982
比主人還吸睛!盤點15位明星的寵物狗狗名字,這隻狗狗「煤炭」紅到擁有百萬直拍