今天客户在反馈中说到有用户文本框不能选中,我们用的是 label代替 placeholder功能 在除IE6\7之外 的浏览器下都没问题,一时之间也找不到原因,索性就把label给去掉用js defaultValue 做检测在获得焦点时如果值为默认值就为空,
$('input').focus(function(){
if($(this).val()==this.defaultValue){
$(this).val('');
}
}).blur(function(){
if($(this).val()==''){
$(this).val(this.defaultValue);
}
});
但是在IE6下测试的结果是值并没有为空,但是光标会在默认值的前面。想想这并不是IE6的原因,肯定是其他文件影响的,排除其他js文件到文本框的影响后,想想可能是 js 中对 input 的特殊设置 仔细找发现 一句代码:
a,input,label{outline:none;*blr:expression(this.onFocus=this.blur());}
这句话的意思是链接 " 在获得焦点的同时失去焦点。如果你用的是图片链接什么的,他不会显示周边的虚线。"
所以就会 又被设置成为 默认值 但光标是在默认值前面的