2、input框自身设置font-size为0。这种情况少见。特定情况为了消除span元素之间的间隔会让font-size为0,此时input框是内容区为0*0个像素、强行设置input宽高,这时input框显示、由于font-size为零,无法输入。
3、input框被其他元素挡住。这种情况是浮动和z-index引起,它的特点是点击input元素不会出现选中状态,排查一下html的结构,可以找到问题。
4、设置了用户不可选中文本。浏览器的一些适配问题,导致设置的user-select:none影响到了input框的正常事件。
5、returnfalse的使用清除了input框的默认事件。使用stopPropagation()。可阻止默认的冒泡事件,使用preventDefault()可消除默认事件。在使用中贪图方便直接用returnfalse来代替以上两种方法,阻止默认事件用reutrnfalse,jquery中,reutrnfalse既阻止了冒泡,又消除了默认事件。不清楚这一点很有可能在使用on绑定事件时,使用reutrnfalse消除冒泡的时候也消除了默认事件,导致input框无法输入内容。
需要通过脚本校验
1、给输入框绑定事件,当焦点离开时校验输入框内容是否为空
2、根据校验结果设置提交按钮属性
<input id="uname" ><button id="btn">提交</button> $(function(){
$("#uname").blur(function(){
var text = $(this).val().trim()
if(text == ""){
$("#btn").attr({"disabled":"disabled"})
}else{
$("#btn1").removeAttr("disabled")
}
})
})