0

選択ボックスを div で囲む必要があるという問題があります。その選択ボックスは透明であるため、フォーカス スタイルを含むスタイルは周囲の div で発生する必要があります。選択ボックスがフォーカスされているかどうかを検出し、フォーカスされている場合はクラスを追加するというアイデアで遊んでいます。しかし、何も機能していないようです...私は .is :focus を使用したスクリプトも使用しましたが、これはほとんどのブラウザーではうまく機能しますが、IE、特に IE8 では機能しません。残念ながら、これをサポートする必要があります。誰でも助けることができますか?

 <div class="styled-select">
<select id="Title" name="Title" required autofocus="autofocus">
     <option value="" selected=yes> Title </option>
     <option value="Ms" > Ms </option>
    <option value="Mrs" > Mrs </option>
 </select>
</div>    

var select = $('select:focus');    

$(select).each(function(){
      $('.styled-select').addClass('focus');
  });
4

2 に答える 2

0

クリック イベントを追加し、選択で機能していないように見えるフォーカスを検出する必要があります。.focus はクリックで設定でき、変更イベントで削除できますが、変更イベントもクリックであるため、次のようになります。

$("#Title").click(function () {
    if ($('.styled-select').hasClass('focus')) {
        $('.styled-select').removeClass('focus');
    } else {
        $('.styled-select').addClass('focus');
    }
});

フィドル: http://jsfiddle.net/W5sYv/1/

于 2013-09-13T11:36:35.537 に答える
0

それぞれを focusin に変更するだけでよいと思います:

 $('#Title').focusin(function(){
      $(this).parent().addClass('focus');
  });

デモはこちら

于 2013-09-13T11:20:57.093 に答える