64

現在フォーカスがある要素をどのように選択できますか?

jQueryにはフィルターがない:focusため、次のようなものを使用できます。

$('input:focus').someFunction();
4

8 に答える 8

153

$(document.activeElement)現在フォーカスされている要素を返し、疑似セレクター:focusを使用するよりも高速です。

ソース:http ://api.jquery.com/focus-selector/

于 2012-03-26T15:29:47.130 に答える
123
alert($("*:focus").attr("id"));

jQueryを使用しています。

要素のIDがフォーカスされていることを警告します。

お役に立てば幸いです。

于 2010-01-14T02:28:49.340 に答える
5

JQuery を使用する場合は、次のようなセレクターを記述できます。

$.expr[':'].focus = function(a){ return (a == document.activeElement); }

次に、現在フォーカスされている要素を選択できます。$(":focus")

フォーカスを持つことができるのはフォーム コントロールだけではありません。tabindex を持つすべての html 要素は、最新のブラウザーでフォーカスできます。

于 2010-11-24T18:03:58.490 に答える
5

やってみました

$.extend($.expr[':'], {
    focused: function(elem) { return elem.hasFocus; }
});

alert($('input :focused').length);
于 2009-02-05T18:41:58.893 に答える
4

現在のjQueryバージョン(1.7)ドキュメントの例から削除:

$(elem).is(":focus");
于 2011-11-14T17:22:06.150 に答える
1

要素にフォーカスがあるかどうかを確認するため。

if ($("...").is(":focus")) {
  ...
}
于 2012-05-09T09:51:36.850 に答える
0

これが CoffeeScript バージョンです。jmanrubia のコードに基づく:

$.expr[':'].focus = (a) -> a is document.activeElement

あなたはそれをそのように呼ぶでしょう$(".:focus")

于 2012-08-22T11:49:09.527 に答える