この質問への回答で作成された素晴らしい関数があります。フォーカスの入力のデフォルト値を削除する方法ですが、それを再利用して複数の入力フィールドに適用するにはどうすればよいですか?
このようなものですが、動作していますhttp://jsfiddle.net/hDCsZ/177/
基本だと思います。前もって感謝します。
この質問への回答で作成された素晴らしい関数があります。フォーカスの入力のデフォルト値を削除する方法ですが、それを再利用して複数の入力フィールドに適用するにはどうすればよいですか?
このようなものですが、動作していますhttp://jsfiddle.net/hDCsZ/177/
基本だと思います。前もって感謝します。
プロパティを使用できdefaultValue
ます:
$(document).ready(function(){
$("input").focus(function() {
if(this.value == this.defaultValue) {
this.value = "";
}
}).blur(function(){
if(this.value.length == 0) {
this.value = this.defaultValue;
}
});
})
基本的に、関数を2回記述するのではなく、使用.each
して、使用可能なすべての入力に適用することができます。jQueryを使用.each
すると、各入力をループし、関数を個別に適用するためdefault_value = $(this).val()
、特定の入力の値になります。
$(document).ready(function(){
$('input[type="text"]').each(function(){
var default_value = $(this).val();
$(this).focus(function() {
if($(this).val() == default_value)
{
$(this).val("");
}
}).blur(function(){
if($(this).val().length == 0) /*Small update*/
{
$(this).val(default_value);
}
});
});
});
$(document).ready(function(){
var input = $('input');
input.each(function(){
$(this).data('default', $(this).val());
}).focus(function(){
if($(this).val() == $(this).data('default')){
$(this).val("");
}
}).blur(function(){
if(!$(this).val()){
$(this).val($(this).data('default'));
}
});
})