0

この質問への回答で作成された素晴らしい関数があります。フォーカスの入力のデフォルト値を削除する方法ですが、それを再利用して複数の入力フィールドに適用するにはどうすればよいですか?

このようなものですが、動作していますhttp://jsfiddle.net/hDCsZ/177/

基本だと思います。前もって感謝します。

4

3 に答える 3

1

プロパティを使用でき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;
        }
    });
})

デモ

于 2012-08-01T21:55:18.070 に答える
0

http://jsfiddle.net/zSCn3/

基本的に、関数を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);
                }
            });
        });
    })​;​
于 2012-08-01T21:51:59.793 に答える
0

http://jsfiddle.net/mpH6U/

$(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'));
        }
    });  
})​
于 2012-08-01T21:52:26.860 に答える