我正在尝试制作一些用于输入/退出(onfocus/onblur)文本字段的javascript。我想要褪色的“预输入”文本,当您输入该字段时会消失。问题是测试是否应该删除文本框的值。一种方法是在输入时检查文本字段的值,如果它等于预先输入的文本,则将该值设置为空,如下所示:
if(field.value=='username'){
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}
但是,用户可以复制预先输入的文本,并且在输入该文本后,它也将被删除。我想这是一个小问题,但我想尽可能专业。为了解决这个问题,我尝试测试文本字段中文本的颜色,因为用户无法复制变灰的预输入文本的颜色。我使用了这段代码:
if(field.style.color=='rgb(150, 150, 150)'){ //default color in CSS
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}
由于某种原因,这不起作用。预先输入的文本仍然存在,颜色不会改变。我很确定访问 CSS 颜色的语法是正确的(field.style.color),因为它可以将颜色设置为黑色(但仅在测试字段值时)。
任何帮助表示赞赏:)
编辑:我的实际代码中没有多余的逗号。