IE 6/7/8 では<select>
、定義された幅が指定されている場合、要素は一度開かれると自動的に展開されません。ブラウザーのスニッフィング (jQuery の例では and を使用する$.browser.msie
ことでした$.browser.version
) を使用すると、現在のブラウザーをある程度確実に検出でき、関連するブラウザーに対して、選択用のカスタム ハンドラーを追加できます。
jQuery 1.9 では、$.browser
オブジェクトは削除されました。私はまだ本番環境で古いバージョンを使用しており、ブラウザをスニッフィングして、それに応じて自動拡張選択メニューを表示することができます。ただし、jQuery の今後のリリースについていくつもりなら、これは長期的な解決策ではありません。
select via のプロパティを調べましたがfor(var i in document.createElement('select')) { ... }
、メニューが自動的に展開されるかどうかに関して明らかなことは何もわかりません。
そのようなことはありますか?理想的には、ブラウザのスニッフィングを必要としないバニラ ソリューションを探しています。if(!property in document.createElement('select')) { ... }
素晴らしいでしょう。
[編集/追加] jQueryの移行について知っており、おそらくそれが私たちを圧倒するだろうと理解しています. 私は、(現時点では) 1 つの小さな不便さのために、より多くのものをロードすることに過度に熱心ではありません。