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

关于input不能输入的原因

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

onkeydown="return false;"

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

readonly="readonly"

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

<input type="text"  style="font-size: 0px;width: 100px;height:30px;" /> 

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

<div style="width: 200px;height: 200px;float: left;position: absolute;z-index: 100;">
</div>
<input type="text" style="position: absolute;z-index: 10;" />

这种情况大致是因为浮动和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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值