2013-11-25 48 views
4

有什麼辦法可以在輸入文字失焦時設置background-colorCSS或JS - 當輸入被聚焦時改變輸入的背景顏色?

我想在JS中,但我想知道是否可能在CSS純。

這似乎不工作

input{ 
background-color:#fff !important; 
} 
input:focus{ 
background-color:#333 !important; 
} 
//input:unfocused and has value{ ??? :) } 

$('input,textarea').on('focusout',function(e){ 
     if($(this).val().length){ 
     $(this).css('background-color','#fff'); 
     } 
     }); 

謝謝

+1

CSS'!important'語句不被jquery'.css()'met支持hod,刪除它或使用類 –

+0

@ A.Wolff謝謝你的男人,但仍然不工作,因爲我已經在默認情況下background-color:fff重要;在輸入時,只是嘗試改變背景,如果輸入有價值,並專注 – sbaaaang

+0

':焦點'僞類將允許你做它的負面過程。重點時重新着色,然後恢復正常。 – DevlshOne

回答

3

CSS3的方法是,例如:

THIS FIDDLE。它有點落後,你會選擇主動,而不是模糊的選擇器。

爲了模擬模糊,你可以使用:not(:focus)see here

+0

這是爲了重點我需要聚焦:P – sbaaaang

+0

@sbaaaang,焦點是相反的。風格正常(非:焦點)選擇器爲focusout。它相同,但倒過來在CSS – SW4

+0

我需要3 stetements backgrond:輸入,輸入:焦點,輸入:focusout – sbaaaang

1

textarea的輸入有不同的選擇:

使用jQuery這樣做:

<script type="text/javascript"> 
$(document).ready(function(){ 
     $('textarea').on('focusout',function(){ // When losing focus 
      $(this).css('background','#FFF'); 
     }); 
     $('textarea').on('focus',function(){ // When focus 
      $(this).css('background','#333'); 
     }); 
}); 
</script> 

或CSS:

textarea { background-color:#fff !important; } 
textarea:focus { background-color:#333 !important; } 
+0

嘿對不起,我得到的修復它是刪除一些CSS現在它的工作該死的對不起,謝謝你的時間,我投了去關閉這個 – sbaaaang