2012-08-01 50 views

回答

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')); 
     } 
    }); 
})​ 
+0

我可以證實,這工作很好。 – 2012-08-01 21:55:24

+0

確實很美。謝謝。 – lyndonr 2012-08-01 22:08:33

0

http://jsfiddle.net/zSCn3/

基本上而不是寫功能的兩倍,我們可以使用.each並將其應用到所有可用的輸入。通過使用.each jQuery循環遍歷每個輸入並單獨應用該函數,因此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); 
       } 
      }); 
     }); 
    })​;​ 
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; 
     } 
    }); 
}) 

DEMO