繁体   English   中英

如何使用此JQuery函数清除输入文本?

[英]How to use this JQuery function for clearing input text?

我试图使用input标记内的onfocus和onblur清除输入文本,但是我将在许多字段上使用它,因此我找到了这个JQuery函数,但似乎无法使其正常工作。

$('.default-value').each(function() {

   var default_value = this.value;

   $(this).focus(function(){
           if(this.value == default_value) {
                   this.value = '';
           }
   });

   $(this).blur(function(){
           if(this.value == '') {
                   this.value = default_value;
           }
   }); 
});

我尝试将其放在script标记内的head标记内,并向要清除的输入添加了默认值类,但是它不起作用。

那我在做什么错呢? 我不了解JavaScript,并且正在链接到最新的JQuery。

谢谢

好像您是在这里重新发明@placeholder

像这样使用HTML:

<input type="text" placeholder="foo bar">

大多数现代浏览器都支持此功能。

然后,使用polyfill确保较旧的浏览器具有相似的行为。 如果您有兴趣,我已以jQuery插件格式编写了一个: http : //mths.be/placeholder

如下使用它:

$('input, textarea').placeholder();

这是一个演示: http : //mathiasbynens.be/demo/placeholder

我认为这不会因为关闭而起作用。 您需要记住每个字段的默认值。 例如

$('.default-value').each(function() {

   $(this).attr('default_value',$(this).val());

   $(this).focus(function(){
       if($(this).val() == $(this).attr('default_value')) {
               $(this).val('');
       }
   });

   $(this).blur(function(){
       if($(this).val() == '') {
               $(this).val($(this).attr('default_value'));
       }
   }); 
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM