许多DOM元素是可聚焦的:带有tabIndex,输入元素等的div。有没有简单的方法来检查元素是否可以聚焦而不是检查大量不同的情况?有没有一个jQuery方法呢?
答案 0 :(得分:6)
从这里回答“翻译”:Which HTML elements can receive focus?
<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;
}