onFocus .css和onblur .css

时间:2012-01-17 22:50:31

标签: javascript jquery css onblur onfocus

我的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');"和{{1}之类的事情}。我怎么能做到这一点?

由于

5 个答案:

答案 0 :(得分:3)

您可以使用伪选择器:

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

input[type=text] {
  color: gray;
}

答案 1 :(得分:2)

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

  1. 你的颜色需要#。
  2. 您需要将条件包裹在大括号中
  3. 其他一切都很好(我改变了颜色,使发生的事情变得更加明显):

    <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放在不同的处理程序中。

答案 2 :(得分:0)

您可以使用伪类:焦点颜色 http://www.w3schools.com/cssref/sel_focus.asp

对于“Search Within”的事情,我建议使用defaultText jQuery插件

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

答案 3 :(得分: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')});

答案 4 :(得分: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{};"
   />