JavaScriptを使ってキープレスを偽装することはできません(セキュリティ上の理由から正当な理由で)、最も近いのは<select>
要素のサイズを変更することです(ドロップダウンコントロールからリストボックスコントロールに変更して戻します)。
Demo、Code(純粋なJS、無ライブラリー)
ユーザーがクリック(またはタップ)でオプションを選択すると、それ、クリックイベントハンドラは、 '閉じ'リストボックスのサイズを1に戻してから、通常のドロップダウンコントロールに戻ります。私は(モバイルではない)Chromeでこれをテストしただけで、Blackberryで動作するかどうかを教えてください。
編集:私はより分かりコントロールに振る舞いと設定をラップ小さなjQueryプラグインを作成している
。私はiOS 4のSafari Mobileでこれをテストしていますが、プログラムで開くことができるという点を除いて、ブラウザの通常のドロップダウンのように動作します。
Demo、Code(jQueryの1.7)
それはこのように動作します:
$("select").openable({ triggers: $("#trigger") });
任意のトリガでクリックすると、選択UIを開きます。
私はまたが「閉じる」リストボックスに、Escキーとスペースを入力キャッチするキーアップイベントのハンドラを追加しました。これは、デスクトップブラウザでのドロップダウンコントロールの選択メカニズムを模倣しています。
もちろん、デスクトップブラウザでは、これはネイティブのドロップダウンコントロールとは異なり、ページのレイアウトを変更します。あなたはそのためのCSSソリューションを用意しなければなりません(おそらくposition: absolute
とz-index
というものがあります)。しかし、iOSでは選択UIがページに表示されないので、問題はありません。再び
、BlackBerryでこのプラグインをテストしていません...
可能な重複http://stackoverflow.com/questions/360431/can-i-open-a-dropdownlist-using-jquery – Nasreddine
そうではありません重複これは特にモバイル用で、 '.focus()'は十分であったかもしれませんが(デスクトップブラウザ用ではないかもしれませんが)、そうではありません。くそー! http://jsfiddle.net/rudiedirkx/c3Mup/3/show/ – Rudie