首先快速注意到,在HTML placeholder
屬性將做的正是你描述本身是什麼。如果可能的話,我鼓勵這是首選。實施將僅僅是:
<input type="text" class="namefield" placeholder="Name" />
它更多閱讀是在這裏:http://www.w3schools.com/tags/att_input_placeholder.asp
如果您不能添加屬性的元素,但你必須設置的值,你可以使用jQuery動態添加屬性。你可以使用我們最初討論的jQuery方法,或者你可以添加placeholder屬性。
這裏是兩個例子,我也更新了一個工作示例的JS小提琴。
使用預留
$(document).ready(function() {
$("input, textarea").each(function() {
$(this).attr('placeholder',$(this).val());
$(this).val('');
})
})
結合使用數據默認與原來的答案
$(document).ready(function() {
$("input, textarea").each(function() {
$(this).data('default',$(this).val());
})
})
原來的答案:
如果您仍然需要使用jQuery,你可以設置並檢查狀態並將其與默認值進行比較。像這樣的東西會工作:
HTML
<input type="text" class="namefield" data-default="Name" value="Name" />
<input type="text" class="emailfield" data-default="Email" value="Email" />
的JavaScript
$(document).ready(function() {
$("input, textarea").focus(function() {
if($(this).data('default') == $(this).val()) {
$(this).val('');
}
});
$("input, textarea").blur(function() {
if($(this).val() == '') {
$(this).val($(this).data('default'));
}
});
})
你可以看到它在這方面的工作JS小提琴:https://jsfiddle.net/77Lk4kep/1/
希望幫助!
請說明您的具體問題或添加額外的細節,以確切地突出你所需要的。正如它目前所寫,很難確切地說出你在問什麼。 –
HTML'placeholder'屬性會爲你做所有這些。這是一個選擇嗎? http://www.w3schools.com/tags/att_input_placeholder.asp –
我有一個通過Wordpress中的插件生成HTML的表單,所以不能包含佔位符屬性。 我在字段(名稱,電子郵件,消息)中設置了我需要在焦點上刪除的默認值,並且只有在用戶退出字段而不添加新值的情況下才會再次出現在字段中。但是如果一個新的價值被添加到現場,我需要它留下來。 – user2109237