2015-02-07 133 views
2

我想在按Tab键或通过鼠标时更改文本输入的背景颜色(.item-input) - 出于某种原因焦点未被触发?更改焦点上的输入元素的背景颜色

例如:

<tr class="item"> 
    <td> <input class="item-input" type="text" /> </td> 
    <td> <input class="option" type="text" /> </td> 
</tr> 

如果.item-输入经由键或鼠标

if($('.item-input').is(':focus')) { 
    $(this).addClass("input-focus"); 
} 

在CSS文件中选择我有:

.input-focus { 
    background-color: yellow; 
} 
+0

只需使用纯CSS https://developer.mozilla.org/en-US/docs/Web/CSS/:focus – epascarello 2015-02-07 23:39:01

回答

4

使用纯CSS:

.item-input:focus { 
 
    background-color: yellow; 
 
}
<input class="item-input" type="text" />

但是,如果你想使用jQuery,听focus事件:

$('.item-input').on('focus blur', function() { 
 
    $(this).toggleClass("input-focus"); 
 
});
.input-focus { 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="item-input" type="text" />

我更换了.addClass()方法的印象下.toggleClass()方法你想要在blur上删除课程。

+0

嗯''.item-input:focus'来自 – 2015-02-07 23:39:55

+0

@ I'll-Be -Back'.item-input'是你定位的元素,':focus'是一个伪类。 https://developer.mozilla.org/en-US/docs/Web/CSS/:focus – 2015-02-07 23:40:37

+0

啊,现在,我明白了。谢谢。 – 2015-02-07 23:40:47

相关问题