使用jQuery淡出文本字段内的文本值

Dwa*_*ton 6 javascript jquery frameworks

我不完全确定这是否可能,我对jQuery和JavaScript的知识非常了解,但这个让我感到难过.我创建了一个简单的插件,清除焦点上的文本输入,然后显示默认值,如果没有输入任何内容.

是否有可能在文本输入中淡出文本本身,而不是整个字段本身?所有尝试似乎都会导致文本字段本身逐渐淡出并最终将元素从视图中隐藏.

我确实想出了一个使用包含默认值的跨度的解决方案,并将它们绝对定位在文本输入上,隐藏并显示它们,具体取决于用户是否输入了任何文本.如果存在,我宁愿采用一种直接的方法.

编辑

使用jQuery UI中的jQuery动画函数或作为jQuery的插件可用,您可以将文本颜色设置为在聚焦和模糊字段时输入的颜色(如下所述).这是我正在使用的代码,如果你想知道如何.

    obj.bind("focus", function() {
  if ($(this).val() == oldValue) {
      $(this).animate({ color: '#E8DFCC' }, 1000).val('');
  }
 });

 obj.bind("blur", function() {
  if ($(this).val().length <= 3) {
      $(this).animate({ color: '#56361E' }, 600).val(oldValue);
  }
 });
Run Code Online (Sandbox Code Playgroud)

ckr*_*mer 6

只是想一想,您是否尝试使用动画方法更改文本框中文本的颜色以匹配背景?然后,当动画完成时,您可以清除内容.

这是一个想法.自从我使用动画之后已经有一段时间了,但是如果你感兴趣的话,我可能会编写一个代码示例.