:focus
选中当前已获得焦点的元素。(不支持事件冒泡)
-
1.6 新增:focus
与其它伪类选择器(以 ":" 开头的选择器)一样,使用 :focus
时,建议在它前面加一个标签名或是其它一些选择器。否则的话,就意味着要使用全局选择器("*")。换句话说,$(':focus')
等价于 $('*:focus')
。如果你要查找当前获得焦点的元素,可以使用 $( document.activeElement )
,而不必在整个 DOM 树中进行查找。
示例:
无论哪个元素获得了焦点,为这个元素添加一个样式。
<!DOCTYPE html>
<html>
<head>
<style>
.focused {
background: #abcdef;
}
</style>
<script src="jquery.min.js"></script>
</head>
<body>
<div id="content">
<input tabIndex="1">
<input tabIndex="2">
<select tabIndex="3">
<option>select menu</option>
</select>
<div tabIndex="4">
a div
</div>
</div>
<script>
$( "#content" ).delegate( "*", "focus blur", function( event ) {
var elem = $( this );
setTimeout(function() {
elem.toggleClass( "focused", elem.is( ":focus" ) );
}, 0);
});
</script>
</body>
</html>