jQuery focus()和空字段

时间:2014-01-04 04:14:06

标签: javascript jquery onfocus

我想在选中时清空登录字段。我正在使用JS / jQuery-Book并将这个示例完全复制到我的文档中,但它不想工作......

字段:

<input type="text" id="username" value="Username" name="username" />

jQuery的:

$(document).ready(function(){
$("#username").focus(function(){
    var field = $(this);
    if(field.val() == field.attr("defaultValue")){
    field.val(""); // also tried field.val() = "";
    }
});
});

我已经在每一行之后放了一个alert(),我发现它没有进入if语句。

6 个答案:

答案 0 :(得分:1)

你可以试试这个......

$("#username").focus(function(){
var field = $(this);
var username=field.attr("value");
if(field.val() == username){
    field.val(""); 
}
});

经过测试并与您的attr一起正常工作....

答案 1 :(得分:0)

使用jQuery方法prop来获取DOM属性而不是attr

$(document).ready(function(){
    $("#username").focus(function(){
        var field = $(this);
        if(field.val() == field.prop("defaultValue")){   // or: field.val() == field[0].defaultValue
            field.val("");
        }
    });
});

答案 2 :(得分:0)

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

尽可能简单。

答案 3 :(得分:0)

使用.prop()(参见jsfiddle):

$("#username").focus(function(){
    var field = $(this);

    if(field.val() == field.prop("defaultValue")) {
        field.val("");
    }
});

答案 4 :(得分:0)

试一试:

<input type="text" id="username" value="Username" name="username" defaultValue="" />

试一试:

$(document).ready(function(){
    $("#username").focus(function(){
        if($(this).val() === $(this).attr("defaultValue")){
            $(this).val("");
        }
   });
});

答案 5 :(得分:0)

试试这个......

$(document).ready(function(){
var user = $("#username").val();
$("#username").focus(function()
{
if($(this).val()==user)
$(this).val("");
});
});

这对我来说很好。