如何在单击时清除文本字段并更改其颜色

时间:2016-03-07 20:22:44

标签: javascript css

我有一个搜索文本框,初始值为“搜索”和灰色。

单击时,我想清除文本并将颜色设置为黑色,这样当用户统计信息输入时,它就是黑色。

到目前为止我已经这样了,它很清楚。我试图为它添加一个CSS样式但它给我一个语法错误:该属性缺少命名空间后面的属性名称。

 onfocus="if(this.value == 'Search') { this.value = ''; }" onblur="if(this.value == '') { this.value = 'Search'; }"

 onfocus="if(this.value == 'Search') { this.value = ''; style="color: #000000;"; }" onblur="if(this.value == '') { this.value = 'Search'; }"

2 个答案:

答案 0 :(得分:4)

如果您不想支持IE9及以下

你应该使用占位符属性和一些像

这样的CSS

input::-webkit-input-placeholder { color: #555; }
input::-moz-placeholder { color: #555; }
input:-ms-input-placeholder { color: #555; }
input:-moz-placeholder { color: #555; }
<input type="text" placeholder="Search" />

答案 1 :(得分:1)

设置颜色的正确方法是更改​​DOM元素的style属性的color属性,如

 this.style.color = ...

所以,如果你想支持IE9或类似的东西

<input onfocus="if (this.value == 'Search') { this.value = ''; this.style.color = '#000000'; }" onblur="    if (this.value == '') { this.value = 'Search'; this.style.color = 'red'; }" value="Search" style="color: red" />

否则,Ankit的答案将是正确的方法