重置jquery中输入的默认值
我不记得为什么要使用重置jquery中输入的默认值,jquery,input,default-value,Jquery,Input,Default Value,我不记得为什么要使用this.defaultValue?this.defaultValue:“”:在下面的代码中,我只添加了this.defaultValue $('input:text, textarea').blur(function() { if ($.trim(this.value) == ''){ this.value = (this.defaultValue ? this.defaultValue : ''); } }); 为什么不这样做: $('input:text, texta
this.defaultValue?this.defaultValue:“”:
在下面的代码中,我只添加了this.defaultValue
$('input:text, textarea').blur(function() {
if ($.trim(this.value) == ''){
this.value = (this.defaultValue ? this.defaultValue : '');
}
});
为什么不这样做:
$('input:text, textarea').blur(function() {
if ($.trim(this.value) == ''){
this.value = this.defaultValue;
}
});
因为如果未定义
defaultValue
,您将得到'undefined'
而不是相关注释上的'
,为什么不使用HTML5的占位符属性-您不必玩弄defaultValue
据我所知,它在IE上不受支持,但在其他浏览器上运行良好这是一种安全性。如果
此.defaultValue
为未定义
,则返回空字符串,避免此.value
接收未定义
问题是,此属性仅适用于')和
`,这在很大程度上限制了此类功能的范围。例如,在表单中有select是很常见的
更直接的方法是使用将默认值存储在“data-”
属性中。这是HTML5的一个特性,但它有一种向后兼容性,因为它们只是html属性
<select data-defaultValue="1">
<option value="1">One</option>
<option value="2">Two</option>
</select>
更多信息:
$('select').attr('data-defaultValue');
// or
$('select').data('defaultValue');