多くの DOM 要素はフォーカス可能です: tabIndex を持つ div、input 要素など。無数の異なるケースをチェックするよりも、要素がフォーカス可能かどうかをチェックする簡単な方法はありますか? これにはjQueryメソッドがありますか?
14496 次
1 に答える
8
ここから「翻訳された」回答:どの HTML 要素がフォーカスを受け取ることができますか?
<a>
または<area>
_href
- 無効になっていないフォーム要素
- iframe
- を持つ任意の要素
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;
}
于 2013-08-15T21:06:58.850 に答える