2012-01-17 34 views
1

我的HTML有一個像這樣的佔位符:的onfocus .css和的onblur的.css

<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');"onblur="if (this.value=='')this.value='Search Within';$(this).css('color', 'A9A9A9');"。我怎麼能做到這一點?

感謝

回答

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');}"> 

​​3210

當然這最終會成爲非常難看的代碼,並且建議您將JavaScript放在單獨的處理程序中。

+0

我猜他的目標是使用比醜陋的將JavaScript內嵌到HTML中更優雅的解決方案。 CSS會用顏色來解決這個問題,默認值仍然需要JavaScript。 「......但我想知道如何設置CSS。」 – Ivo 2012-01-17 23:01:29

+0

這並不是我所能看到的,但正如我所說的那樣。也許我誤解了它。 – Jere 2012-01-17 23:02:56

+0

@Ivo這實際上是我正在尋找的,因爲您的解決方案會在框中顯示文本時更改文本顏色。 – henryaaron 2012-01-17 23:06:34

3

可以使用僞選擇:

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

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

但問題是,如果在那裏孤單的文字,顏色也會隨之改變。我希望顏色的行爲像WebKit中的HTML5佔位符 – henryaaron 2012-01-17 22:55:39

+1

您可以明確設置文本的顏色。如果仍然繼承文本框的顏色,則在規則的末尾放置一個!important。 此外,沒有:模糊僞類(至少我沒有設法找到一個文檔)。對於模糊的情況,只使用「#additionalsearch」,讓:focus案例覆蓋它。 – Ivo 2012-01-17 22:58:30

+0

但現在如果用戶輸入一個關鍵字。然後模糊文本框的顏色變成灰色。我只希望它是灰色時,值是搜索範圍 – henryaaron 2012-01-17 23:01:11

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')}); 
0

TAST這樣的:

<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{};" 
    />