0

フォーカスできるさまざまなアンカーとフォーム要素を含むページを作成しています。何かがフォーカスされている場合、現在フォーカスされている要素をどのように取得できるのか疑問に思っています。jQueryでそれを行う1つの方法は.is(:focus). jQuery またはバニラ js ソリューションのいずれかを探しています。

これが私が疑似コードでやろうとしていることです:

if (something is focused){
    get the tag name of that which is currently focused and store that in a variable as a string.
}
else {
    alert("nothing is being focused on");
}

また、この質問に答えられる場合は、次のように答えてください。コードまたはユーザーによってフォーカスされるまで、特定の要素がフォーカスされていないか、何もフォーカスされていない場合にフォーカスされるのは、ドキュメント/本文ですか?

4

3 に答える 3

0

jQueryでこれを実行したい場合、探しているのはjQuery.prop()メソッドです。$(someElement).prop('tagName')のタグ名を返しsomeElementます。

例として、これを一緒に投げました:http: //jsfiddle.net/kZbYv/1/

于 2013-03-20T03:30:19.520 に答える
0

以下を使用できます。

$('*:focus')
于 2013-03-20T03:39:04.607 に答える
0

気になる要素のリストを設定するかfocus、ワイルドカードセレクターを使用できます。

$(function () {
    var focusedEls = [];
    $('*:visible').bind('focus', function (e) {
        focusedEls.push(e.target);
        console.log( $.unique(focusedEls) );
    });
});

フィドル: http://jsfiddle.net/xfwy2/

フォーカスされた要素を格納する方法はいくつかありますが、私は配列を選択しました。また、各要素がフォーカスされた時間を追跡するかどうかはわかりませんが、そうする場合は$.unique()、完全なリストを捨てるだけです。

于 2013-03-20T03:39:36.043 に答える