2013-04-04 59 views
1

我对jquery很新,所以很抱歉,如果这是基本的。试图填充输入字段,当用户点击输入外jquery

我目前有一个功能,可以清空用户名输入字段的值,以便用户在输入用户名前不必删除它。

$("#usernameInput").click(function(){ 
     $(this).val(""); 
    }); 

但我坚持试图重新填充输入字段与“用户名”如果输入字段的用户没有输入任何东西,一旦他们当输入字段外的点击已经点击了它,并清除后它与以前的功能。

这是我到目前为止已经试过:

$("html").click(function(){ 
    if($("usernameInput").val() == " "){ 
     $("usernameInput").val("username"); 
    } 
    else{ 
     //do nothing as user has entered username 
    } 


}); 

感谢

+2

这听起来像你可能会从添加'占位符= “用户名”'属性输入标签中受益。 – Matt 2013-04-04 15:43:48

+0

谢谢马特,很高兴看到html5简化了这个! – crm 2013-04-04 15:49:33

回答

2

你通常使用的重点和模糊事件为

$("#usernameInput").on({ 
    focus: function(){ 
     if (this.value.trim() == 'username') this.value = ''; 
    }, 
    blur: function() { 
     if (!this.value.trim().length) this.value = 'username'; 
    } 
}); 

或HTML5可以使用占位符

<input type="text" id="usernameInput" placeholder="username" /> 

FIDDLE

+0

谢谢,你很快!我假设在模糊函数中,我可以使用if语句仅在没有输入任何内容的情况下将值更改为用户名。 – crm 2013-04-04 15:44:09

+0

@crm - 听起来像个好主意! – adeneo 2013-04-04 15:44:39

1

试试这个

$("#usernameInput").focusout(function(){ 
    if(this.value == ""){ 
     $("usernameInput").val("username"); 
    } 
    else{ 
     //do nothing as user has entered username 
    } 

}); 
1
$("#usernameInput").focus(function(){ 
    $(this).val(""); 
}); 

$("#usernameInput").blur(function(){ 
    if($(this).val().length < 1) 
    { 
     $(this).val("username"); 
    } 
}); 
相关问题