6

とにかく、選択したフォーム要素が現在アクティブであるかどうかをjQueryで検出できますか?

私は問題を実証するためにこのフィドルを作成しました:

http://jsfiddle.net/E2PhT/2/

[検索]-リンクにカーソルを合わせると、検索フォームが表示されます。ここで選択フィールドをクリックして内部のオプションを開き、何も選択せずにフォームを右側に置いたままにすると(マウスを灰色のブロックの右端を越えて移動)、選択フィールドは開いたままになります。 elesが消えます(そうあるべきです)。

ここで、select要素を再び非アクティブにして、開いたままにならないようにするか、select要素が開いている限りフォームの残りの部分が消えないようにします。

したがって、どちらの方法でも、選択フィールドがまだ開いているかアクティブであるかを何らかの方法で検出する必要があります。jQueryでこの状態をチェックする方法はありますか?

ヘルプのためのThx。

4

2 に答える 2

3

:focusセレクターを試すことができます:

if (!$("select").is(":focus")) {
    // ...
}

デモ:http: //jsfiddle.net/E2PhT/3/

于 2012-06-20T16:17:25.763 に答える
0

次のようなグローバルブール変数を使用できます。

var isFocused;
$(document).ready(function(){
    $('select').focus(function(){
        isFocused = true;
    }).blur(function(){
        isFocused = false;
    });
});
于 2012-06-20T16:24:09.743 に答える