これはHTML/CSS/JS(jQuery)iPadアプリです。入力フォームをスライドダウンするボタンがあります。ユーザーを入力に集中させ、キーボードを起動します。
これは私が取り組んでいるものですが、機能しません:
$('#myFormField').focus();
これは確かに入力にフォーカスしますが、キーボードの起動に失敗します。 (セキュリティ上の理由などのために)それは不可能ですか?
ユーザーが入力(またはそのことについて何か)をタップするのを強制またはシミュレートする方法はありますか?
多分これらのリンクはあなたを助けることができます:
Safari iPhone 7およびiPhone 6 Plusでテスト済み、Android 4.4
ボタンをタッチすると、iOS仮想キーボードが正常に開きました。
1)Keypressイベントをトリガーするボタンを作成する=> $('.btn_abc')
2)テキスト入力タグを作成し、IDをこの要素に設定します=> $('#search_input')
$( document ).ready(function() {
var focusTextField = function(){
console.log("focusElement");
};
var onKeypressHandler = function(){
console.log("* * * keypress event handler")
$('#search_input').blur().focus();
};
var onClickHandler = function() {
$('.btn_abc').trigger('keypress');
};
$('#search_input').bind('focus', focusTextField);
$('.btn_abc').bind('click', onClickHandler);
$('.btn_abc').bind('keypress', onKeypressHandler);
});
そのボタンを入力フィールドにすると、すぐにフォーカスがメイン入力フィールドに切り替わります。キーボードが開いたままになります。以下は、ユーザーがクリックしたボタンの上に透明な入力フィールドを配置して、要求したようなボタンを使用した例です。 iPhone 4(iOS 6/7)とHTC Windows Phoneでテスト済み。
ユーザーが重視する入力:
<input id="main" />
ユーザーが押すボタン(CSSを使用して入力フィールドをオーバーレイ):
<a>Button</a><input onfocus="FocusMain()" />
フォーカスを瞬時に交換:
function FocusMain()
{
$("#main").focus();
}