2012-08-12 87 views
0

我需要它清除焦點上的默認輸入值,如果模糊上的值爲空,則將值返回。這裏是我當前的代碼:清除焦點上的輸入默認值,如果在模糊上爲null,則將值填回。

$(document).ready(function() { 
    function toggleText(selector, value) { 
     $(selector).focus(function() { 
      if ($(this).val == value) { 
       $(this).val(''); 
      } 
     }); 
     $(selector).blur(function() { 
      if ($(this).val == '') { 
       $(this).val(value); 
      } 
     }); 
    } 
    toggleText('input[name="first-name"]', 'First name...'); 
}); 
+0

爲什麼不使用HTML5的'placeholder'屬性? – 2012-08-12 22:16:17

+0

它與IE完全不兼容 – Solo 2012-08-12 22:18:11

回答

2

$(this).val(),不$(this).val

$(document).ready(function() { 
    function toggleText(selector, value) { 
     $(selector).focus(function() { 
      if ($(this).val() == value) { 
       $(this).val(''); 
      } 
     }); 
     $(selector).blur(function() { 
      if ($(this).val() == '') { 
       $(this).val(value); 
      } 
     }); 
    } 
    toggleText('input[name="first-name"]', 'First name...'); 
}); 

編輯:

但我認爲這是最好這樣說:

$(document).ready(function() { 
    function toggleText(selector) { 
     $(selector).focus(function() { 
      if ($(this).val() == $(this)[0].defaultValue) { 
       $(this).val(''); 
      } 
     }); 
     $(selector).blur(function() { 
      if ($(this).val() == '') { 
       $(this).val($(this)[0].defaultValue); 
      } 
     }); 
    } 
    toggleText('input[name="first-name"]'); 
}); 

你如果喲,可以使用$(this).defaultValue()你用this plugin

+0

謝謝大聲笑愚蠢的錯誤 – Solo 2012-08-12 22:27:15

相關問題