2013-10-28 83 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