input表单的默认提示js方法(ie低版本不可编辑带光标bug)

来源:互联网 发布:手机制作字幕软件 编辑:程序博客网 时间:2024/05/02 06:12

在h5的新属性中,已经可以支持该功能,直接在input里面加上placeholder=“请输入XXX……”就可以达到效果。

但是低版本的ie和其他不支持h5新属性的浏览器就不能用这个方法了。

另一种简单的方法就是直接设置value和样式,value="请输入XXX……" style="color:#333" 然后添加

 onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style="color:#999999"

感觉不是很满意,又找到一种方法:

html

<input type="text" id="name" maxlength="20" fs="请输入预约人姓名">


JS

//请输入预约人姓名提示
$('#name').val($('#name').attr('fs')).css('color','#999');
$('#name').focus(function(){
if($(this).val()==$(this).attr('fs')){
          $(this).val('');
          $(this).css('color','#333');
        }    
});
$('#name').blur(function(){
if($(this).val().trim()==''){
          $(this).val($(this).attr('fs'));
          $(this).css('color','#999');
        }    
});

接着由于业务需求,需要将部分input设为不可编辑,但在ie低版本下发现,鼠标单击后会出现光标闪烁,于是找了一下,发现有这么一个属性

unselectable="on" (不可选中的)可以直接达到效果

<input id="project" type="text" readonly="readonly" unselectable="on" fs="可选项目">

0 0