サイトのモバイルバージョンを作成しています。テキスト入力を伴うダイアログがポップアップするサイトの一部があります。通常、jQueryを使用してテキスト入力にフォーカスを合わせますが、それは機能しません。私がしようとしているものは次のとおりです。
$("#textinput").focus();
$("#textinput").click();
$("#textinput").trigger("tap"); //jQuery Mobile
どれも機能していないようです。何か案は? DroidXでテストしてきました。私はjQuery Mobileを使用していますが、他のライブラリが助けてくれるなら、私は他のライブラリを受け入れています。
少なくともiOS(iPhone)ではできません。そしてAndroidも信じています。ユーザー入力以外ではキーボードをトリガーできないようにする必要があるというユーザビリティの問題です。それが自動である場合、単に迷惑です)。
これを回避する方法はいくつかあります。
Prompt()
はキーボードを開きます.focus()
イベント内から(たとえば、ダイアログを開いて).click()
をトリガーすると、キーボードが表示されます$( "#textinput")。focus();
入力要素にフォーカスを設定してキーボードを開くと、フォーカスが「ユーザーコンテキスト」内で設定されている場合にのみ機能します(クリック、マウスダウン、マウスアップなど)。
「スクリプトコンテキスト」(setTimeout、ajax呼び出しから返されたコールバック)から、キーボードは表示されません。
次を使用できます。
$(textFiled).trigger("focus");
オーバーレイを開いたとき、またはドキュメントの準備ができたときにトリガーされる関数にこのコードを配置できます。