2012-06-20 12 views
6

選択フォーム要素が現時点でアクティブな場合、jQuery経由で検出できますか?jqueryで選択要素がまだ開いているかどうかを確認する方法

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

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

あなたは検索フォームが現れ-link「検索」の上に置くと。選択フィールドをクリックして内側のオプションを開くと、何も選択せずにフォームを右側に置いて(グレーブロックの右端からマウスを移動させて)、選択フィールドは開いたままになります。エルフは消えます(それはすべきです)。

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

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

Thxヘルプ。

答えて

3

あなたは:focusセレクタを試すことができます。

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

DEMO:http://jsfiddle.net/E2PhT/3/

+0

を!なぜ私はそれを考えなかったのですか?それが閉じられているときだけ焦点をとどめておくことが問題になりました。しかし、私はここから行くことができると思う... thx! – TimG

+0

@TimGはい、いくつかの回避策が必要です。どういたしまして! – VisioN

+5

これは古い質問ですが、選択した後でオプションリストが閉じられると、