value和placeholder 的区别

由于HTML5的出现,使得表单的功能更加强大,input的功能应用起来更加简单,从value到placeholder。但是由于兼容问题,placeholder只适合在移动端的项目,IE6/7/8不支持,只能用value,或者你可以用其他方法模拟placeholder,具体案例你可以看支付宝和财付通的登录和注册页面。下面分别介绍下value和placeholder的实际应用。

value

如果用的是value,我们想鼠标focus后默认文字消失,移开后默认文字又重现,可以这样来写。

 
 
  1. <input type="text" value="请输入手机号" class="inp-fon">
 
 
  1. $(".inp-fon").focus(function(){
  2.           var oldValue = $(this).val();
  3.           if(oldValue == this.defaultValue){
  4.               $(this).val("").addClass('focus-fon');
  5.           }
  6.       }).blur(function(){
  7.           var oldValue = $(this).val();
  8.           if(oldValue == ""){
  9.                $(this).val(this.defaultValue).removeClass('focus-fon');;
  10.           }
  11.       });

请看下图演示:

默认状态:

QQ截图20151230151150.jpg

focus状态

QQ截图20151230153438.jpg

说明:默认状态是灰色的,然后focus后,输入的字体会变成黑色的,上面的JS里就是通过添加和删除样式“focus-fon”来控制的。

placeholder

如果用的是placeholder,我们就不需要JS了,因为它本身就自带focus和blur功能了。但是有时候设计师给我们的设计稿往往跟默认文字颜色是有区别的,那我们如何改变placeholder默认文字颜色呢,如下:

 
 
  1. <input type="text" placeholder="请输入手机号" class="inp-fon">
 
 
  1. :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  2.     color: #f00;  
  3. }
  4.  
  5. ::-moz-placeholder { /* Mozilla Firefox 19+ */
  6.     color: #f00;
  7. }
  8.  
  9. input:-ms-input-placeholder,
  10. textarea:-ms-input-placeholder {
  11.     color: #f00;
  12. }
  13.  
  14. input::-webkit-input-placeholder,
  15. textarea::-webkit-input-placeholder {
  16.     color: #f00;
  17. }

一般都是用以上这种方法来处理,这里就不放demo了,比较简单,如果想看效果,把代码复制到网页里查看。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值