许多DOM元素是可聚焦的:具有tabIndex属性的div元素,input元素等。是否有一种简单的方法来检查元素是否可聚焦,而不是检查无数不同情况?是否有jQuery方法可以实现此功能?
许多DOM元素是可聚焦的:具有tabIndex属性的div元素,input元素等。是否有一种简单的方法来检查元素是否可聚焦,而不是检查无数不同情况?是否有jQuery方法可以实现此功能?
以下内容是从此处翻译而来:哪些HTML元素可以获得焦点?
<a>
或者 <area>
并且具有 href
tabindex
属性的元素此外,我认为隐藏的元素也不能获得焦点。
假设满足上述条件,下面的函数可能会帮到你(假定它总是接收一个 jQuery 元素):
function canFocus( $el ) {
if ( $el.is( ":hidden" ) || $el.is( ":disabled" ) ) {
return false;
}
var tabIndex = +$el.attr( "tabindex" );
tabIndex = isNaN( tabIndex ) ? -1 : tabIndex;
return $el.is( ":input, a[href], area[href], iframe" ) || tabIndex > -1;
}
$el.is(':focusable')
即可。参考链接:http://api.jqueryui.com/focusable-selector/ - lazd