我不完全确定这是否可行,但对于jQuery和JavaScript来说,我非常了解,但是这个让我难以理解。我创建了一个简单的插件,用于清除焦点上的文本输入,然后在没有输入任何内容时显示默认值。使用jQuery在文本字段内淡出文本值
是否可以淡出文本输入中的文本本身,而不是整个字段本身?所有的尝试似乎都会导致文本字段本身淡出并最终隐藏元素。
我想出了一个使用跨度的解决方案,其中包含默认值,并绝对将它们放置在文本输入上,隐藏和显示它们,具体取决于用户是否输入了任何文本。如果存在的话,我宁愿采用一种非常简单的方法。
编辑
使用jQuery动画功能,这是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);
}
});
您已经在这里确定了最好的跨浏览器解决方案,位于顶部的元素,不确定您是否仍然可以在任何地方工作而改进它。 – 2010-06-18 00:06:18