ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryを使用して入力にフォーカスがあるかどうかを確認するにはどうすればよいですか?

jQueryを使用して入力にフォーカスがあるかどうかを確認するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-15 03:22:02
オリジナル
453 人が閲覧しました

How to Check if an Input Has Focus Using jQuery?

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 &amp;&amp; (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 &amp;&amp; (elem.type || elem.href);
    };
  }
})(jQuery);
ログイン後にコピー

フォーカスをテストすることで、入力がフォーカスを取得してカーソルがホバーしたときに境界線が消えるのを防ぐことができます。出たり入ったり。

以上がjQueryを使用して入力にフォーカスがあるかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート