2013-02-27 9 views
5

Firefoxで、矢印をクリックしてドロップダウンの「選択」タグを開いた後に1つのオプションをポイントすると、私が期待しているように、行は青色の背景で強調表示されています。これは問題ありません。Firefox/Internet Explorerで選択タグ内の項目を選択/強調表示する動作

Internet Explorerでは、選択するオプションをクリックすると選択されたオプションになりますが、選択タグの外側にある別の場所をクリックするまで青色の強調表示が残ります。

この動作を変更する方法はありますか?

+0

のhttp:/ /harvesthq.github.com/chosen/私はこのプラグインがIEで質問しているものを行うことができると思いますが、私は – wilsonrufus

答えて

5

JavaScriptを使用する方法もあります。私はjQueryを使いやすくしました:JSFiddle example

$('select').change(function() { 
    $(this).blur(); 
}) 

これにより、オプションが選択されたときに要素からフォーカスが削除されます。

この純粋なJavaScriptを行うには、onchangeを使用します。

+0

と思っていますが、それでは変更しないのですか? $(this).blur(); – wilsonrufus

+0

JAmes Donellyあなたは私の人生を救った:) Tahnk you!それは完全に – user1966221

+0

Donnelyの作品フォーカスが選択にとどまると青の強調表示が再びオンになっている(例えば、私は2回連続のHelloを選択します)私はあなたを悩ませてることを残念ですが、選択されたオプションは、前回と同じである場合。それを変更する方法はありますか – user1966221

4

私はこの問題を持っていたジェームズ・ドネリーのソリューションを使用するだけでなく、現在のオプションが選択されている場合(IEでジェームズjsfiddleを試すかwilsonrufusさんのコメントを参照)、残りのハイライトを防止したいと考えていました。オプションにクリックハンドラを置く

はそれを回避するようだ:

var select = $('select'); 

select.change(function() { 
    select.blur(); 
}) 

$('select option').click(function() { 
    select.blur(); 
}) 
0

これは新しいオプションを選択するだけでなく、同じオプションを選択するの世話をする:

$('select > option').click(function() { 
    $(this).parent().blur(); 
}) 
関連する問題