2013-10-28 35 views
0

時,如何更改輸入文本的邊框顏色,邊框顏色將取決於當前的類型值。 我試着改變使用javascript時onkeypress事件事件發生輸入文本的類名,當用戶輸入

element.className= 'recordInputEdited'; 

但是,它無法擺脫的:集中式的,直到文本框失去焦點的新類是可見。任何想法?

+1

請發佈完整的代碼示例。 – j08691

+1

爲你的問題發佈一個小提琴 – Rex

回答

1

這應該工作:http://jsfiddle.net/GQSsw/

HTML:

<input id="element" /> 

的Javascript:

document.getElementById('element').onkeydown = function() { 
    this.className= 'edited'; 
} 

CSS:

input { 
    border: 1px solid red; 
} 

input:focus { 
    border: 1px solid green; 
} 

input.edited { 
    border: 1px solid yellow; 
} 
+0

這似乎工作,但不是在我的環境中,我需要深入挖掘,看起來另一個css部分是避免在onkeydown方法中立即改變類。 – Leo

+0

你也可以嘗試'input.edited {border:1px solid yellow!important}' – kelunik

1

與CSS你根本就:

input:focus { 
    border:1px solid red; 
} 
+0

我不問如何設置:focus風格。 – Leo

+1

hm,你的一些代碼將是有用的。爲了在JavaScript中輕鬆完成Dom操作和事件處理,您可以使用jQuery。 – chris