2012-08-12 124 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

相关问题