0

在这个问题的答案中创建了一个很好的函数How to remove default value of input on focus,但是如何重新使用它并将其应用于多个输入字段?

像这样的东西,但工作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/

基本上,我们可以使用而不是两次编写函数.each并将其应用于所有可用的输入。通过使用.eachjQuery 循环遍历每个输入并单独应用函数,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 回答