Javascript Can';t使用jQuery更改输入的defaultValue属性

Javascript Can';t使用jQuery更改输入的defaultValue属性,javascript,jquery,forms,Javascript,Jquery,Forms,我有一些onfocus/onblur处理程序,用于在聚焦时清除默认内容的字段,但前提是该值等于默认值(以便不删除任何用户输入) 该字段还可以在输入之间切换。因此,用户可以单击按钮并接受电子邮件地址,而不是接受用户名。这将需要不同的默认值,例如“输入您的电子邮件地址”。需要更改实际属性defaultValue,以允许焦点/模糊处理程序正常工作,方法如下: $('input#ident-field').prop('defaultValue', 'enter your email address');

我有一些onfocus/onblur处理程序,用于在聚焦时清除默认内容的字段,但前提是该值等于默认值(以便不删除任何用户输入)

该字段还可以在输入之间切换。因此,用户可以单击按钮并接受电子邮件地址,而不是接受用户名。这将需要不同的默认值,例如“输入您的电子邮件地址”。需要更改实际属性
defaultValue
,以允许焦点/模糊处理程序正常工作,方法如下:

$('input#ident-field').prop('defaultValue', 'enter your email address');

这似乎不起作用,因为如果在字段请求电子邮件地址时将其聚焦,它不会清除该字段。

您应该使用HTML5属性


您应该使用HTML5属性


您可以使用聚焦和模糊功能:

$('input#ident-field').val("enter your email address");
// or $('input#ident-field').prop('defaultValue', 'enter your email address');
$('input#ident-field').focus(function(){
    $(this).val("");
});
$('input#ident-field').blur(function(){
    if($(this).val().trim() == "")
    {
        $(this).val("enter your email address");
    }
});

您可以使用聚焦和模糊功能来实现这一点:

$('input#ident-field').val("enter your email address");
// or $('input#ident-field').prop('defaultValue', 'enter your email address');
$('input#ident-field').focus(function(){
    $(this).val("");
});
$('input#ident-field').blur(function(){
    if($(this).val().trim() == "")
    {
        $(this).val("enter your email address");
    }
});

阅读:当设置selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked或defaultSelected时应该使用它。那么不是defaultValue吗?无论哪种方式,我都尝试过.attr()和.prop(),但都不起作用;如果仍然想使用jQuery,请使用insteadread about:在设置selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked或defaultSelected时应该使用它。那么不是defaultValue吗?无论哪种方式,我都尝试过.attr()和.prop(),但都不起作用;如果您仍然想使用jQuery,那么使用instead您还需要添加以使其在较旧的浏览器中工作。您还需要添加以使其在较旧的浏览器中工作。