2009-09-21 5 views
5

jqueryを使用してドロップダウンの背景を変更しています。何らかの理由で、1回のクリックではなく、2回のクリックで項目を選択する必要があります。jquery on html selectタグを使用したフォーカスイベント

私はこれがなぜ発生するのか、効率的な回避策か、それとも改善が見られないのか分かりません。 これはie7で発生しているようです。&つまり、8(友人が自分の箱でテストしました)以下は、この問題をテストするために使用しているコードです。

----------------------------- COMPLETE MARKUP --------------- -----------------

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script> 

<style type="text/css"> 
    .yellowBackground, .yellowBackground > * > * 
    { 
     background-color: #FFFF79; 
    } 
</style> 

<script type="text/javascript"> 

    $(document).ready(function() { 
     $('select').focus(function() { 

      $(this).addClass('yellowBackground'); 

     }) 
    }); 
</script> 
</head> 
<body> 
    <form> 
    <select> 
     <option value="A">Option 1</option> 
     <option value="B">Option 2</option> 
    </select> 
    </form> 
</body> 
</html> 
+0

ウェブを検索する際にこれがあなた自身ではないことが判明した場合は、この申し立てを取り戻すためのリンクを提供する必要があります。 –

+0

私はあなたのことを疑うことはありませんが、もっと詳細が他の場所で提供されることを期待しています。 –

+0

うん、私はそれらをプルして次のコメントに投稿することを完全に理解している –

答えて

2

これはknown issue in IE7 and forwardのようです。

前述のように、1つの方法は、これを回避するためにonmousedownイベントを使用することです。

$(document).ready(function() { 
     $('select').mousedown(function() { 

      $(this).addClass('yellowBackground'); 

     }) 
    }); 

onfocusin同様に動作する(それはjqueryの内に存在しない)想定しているが、これは、ドロップダウンにオーバータブ移動では動作しません。

0

私はこの問題は、<asp:DropDownList>コントロールが使用されているかに関係する可能性が高いと思います。サーバー側のコードを見ることなく、完全な画像を見るのは難しいです。あなたのページのaspxマークアップとコードビハインドも提供できますか?

+0

には、単純なページを示すコードが追加されました。これはIE 7でのみ発生します。申し訳ありませんが、以前の –

+0

は、 ''に対して 'AutoPostBack = true'を行うことを明確にしていませんでしたか? –

+0

上記のサンプルコードを使用すると、自動ポストバックを追加しても動作は変わりません。 –

関連する問題