jQuery实现设置、移除文本框默认值功能

时间:2021-11-03 02:51:07

jQuery实现的文本框默认值感应鼠标动作:

本章节介绍一下如何利用jQuery实现文本框默认值感应鼠标动作的功能。
比如当文本框获取鼠标焦点的时候,默认值会被清空,当文本框没有输入内容,鼠标焦点离开的时候,又会恢复到默认值。
代码实例:

 

复制代码 代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>服务器之家</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#email").focus(function(){
    var email_txt = $(this).val();
    if(email_txt == this.defaultValue){
      $(this).val("");
    }
  })
  $("#email").blur(function(){
    var email_txt = $(this).val();
    if (email_txt == "") {
      $(this).val(this.defaultValue);
    }
  })
})
</script>
</head>
<body>
<p><input type="text" value="请输入邮箱地址" id="email"/></p>
</body>
</html>

 

上面的代码实现了我们的要求,下面简单介绍一下它的实现原理:

非常的简单,就是为文本框注册focus和blur事件处理函数,当文本框获取焦点的时候,如果文本框的内容和默认值相同,那么就会清空文本框,当焦点离开文本框的时候,如果文本框的内容为空,那么就会恢复到默认值。

或者使用下面的代码:

复制代码 代码如下:


$('.default-value').each(function() {

 

       var default_value = this.value;

       $(this).focus(function(){
               if(this.value == default_value) {
                       this.value = '';
               }
       });

       $(this).blur(function(){
               if(this.value == '') {
                       this.value = default_value;
               }
       });

});