2015-02-09 55 views
0

如何在用戶輸入文本並點擊後保持:focus的樣式?用於輸入的CSS僞選擇器:用文字聚焦

input[type="text"]{ 
    background-color:transparent; 
} 
input[type="text"]:focus{ 
    background-color:white; 
    box-shadow: 3px 3px #red; 
} 
+1

'input [type =「text」] {...}' – 2015-02-09 05:04:19

+0

@VitorinoFernandes誤會。編輯。 – softcode 2015-02-09 06:43:29

+0

當用戶點擊時,它會進入默認狀態,即input [type =「text」] {..}'。在你的情況下,你需要編寫一個腳本來爲焦點添加類,以便即使焦點丟失時該類仍然保持。 – anpsmn 2015-02-09 06:53:47

回答

2

您需要使用Javascript。我所做的下面是添加一個類被點擊輸入時:

<style> 
input[type="text"]{ 
    background-color:transparent; 
} 
input[type="text"]:focus,input[type="text"].focus{ 
    background-color:white; 
    box-shadow: 3px 3px #red; 
} 
</style> 

<input type=text id=myinput> 

<script> 
// can't use the 'click' event because it'll wait for the user to release the mouse 
document.getElementById('myinput').addEventListener('mousedown',function() { 
    if(this.value) 
     this.className='focus'; 
},false); 
</script> 

小提琴:http://jsfiddle.net/99dgvebv/1/

編輯:

新增if(this.value)

+0

如果用戶沒有輸入任何文字會發生什麼?而小提琴不起作用 – softcode 2015-02-09 17:57:28

+0

我改變了它,加入'if(this.value)':) – 2015-02-10 20:31:29