jQuery を使用して入力にフォーカスがあるかどうかをテストする
このジレンマは、jQuery を使用して < 以外の要素の CSS :hover 動作を複製するときに発生します。 ;a> IE6では。
これに対処するには、jQuery を使用してフォーム内の入力にフォーカスがあるかどうかを確認できます。ただし、jQuery には :focus セレクターがないため、代替メソッドを使用する必要があります。
jQuery 1.6
jQuery 1.6 以降では、:focus セレクターが使用できます。次のコードを使用してフォーカスを確認できます。
$("..").is(":focus")
jQuery 1.5 以前
以前の jQuery バージョンの場合、次のコードを使用して新しいセレクターを作成してフォーカスを確認します:
jQuery.expr[':'].focus = function(elem) { return elem === document.activeElement && (elem.type || elem.href); };
または、次を使用してどの要素にフォーカスがあるかを確認できます:
$(document.activeElement)
For All jQuery Versions
さまざまな jQuery バージョンとの互換性を確保するには、次のように :focus セレクターを追加できます。
(function ($) { var filters = $.expr[":"]; if (!filters.focus) { filters.focus = function(elem) { return elem === document.activeElement && (elem.type || elem.href); }; } })(jQuery);
フォーカスをテストすることで、入力がフォーカスを取得してカーソルがホバーしたときに境界線が消えるのを防ぐことができます。出たり入ったり。
以上がjQueryを使用して入力にフォーカスがあるかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。