1

我的 HTML 有一个像这样的占位符:

<input id="additionalsearch" type="text" value="Search Within" onfocus="if (this.value=='Search Within')this.value='';" onblur="if (this.value=='')this.value='Search Within';">

这不是我的选择,我不能真正删除它......但我想知道如何设置 CSS ......我想做一些类似onfocus="if (this.value=='Search Within')this.value=''; $(this).css('color','000000');"and的事情onblur="if (this.value=='')this.value='Search Within';$(this).css('color', 'A9A9A9');"。我怎样才能做到这一点?

谢谢

4

5 回答 5

3

您可以使用伪选择器:

input[type=text]:focus {
  color: black;
}

input[type=text] {
  color: gray;
}
于 2012-01-17T22:54:37.210 回答
2

实际上,除了两个错误之外,您几乎提供了代码:

  1. 你需要一个 # 在你的颜色之前。
  2. 您需要将条件用大括号括起来

其他一切都很好(我改变了颜色以使发生的事情更明显):

<input id="additionalsearch" type="text" value="Search Within" onfocus="if (this.value=='Search Within'){this.value='';$(this).css('color','#00ff00');}" onblur="if (this.value==''){this.value='Search Within';$(this).css('color', '#ff0000');}">

http://jsfiddle.net/A4cuy/6/

当然,这最终会成为非常丑陋的代码,建议您将 javascript 放在单独的处理程序中。

于 2012-01-17T22:59:31.407 回答
0

您可以使用伪类 :focus 作为颜色 http://www.w3schools.com/cssref/sel_focus.asp

至于“搜索范围内”这件事,我推荐使用 defaultText jQuery 插件

http://archive.plugins.jquery.com/project/defaultInputText

于 2012-01-17T22:55:54.440 回答
0

您可以使用以下

$('#additionalsearch')
.bind('focus',function(){
       if (this.value=='Search Within'){
             this.value='';
        };
        $(this).css('color','black')})
.bind('blur',function(){
       if (this.value==''){
          this.value='Search Within';
       }           
       $(this).css('color','gray')});
于 2012-01-17T23:00:19.130 回答
0

尝尝这个:

<input id="fldnm" style="background:#B6FF00" type="text" value="Search"
  onfocus="if(this.value=='Search'){this.value=''}this.style='background:#FF7F7F';"
  onblur="if(this.value==''){this.value='Search'this.style='background:#B6FF00';}else{};"
   />
于 2015-01-22T15:50:48.463 回答