Androidソフトキーボード機能の[次へ]機能をシミュレートするには、フィールドで 'focus'イベントを手動で起動する必要があるのに対し、モバイルWebアプリにはいくつかのカスタムWebコンポーネントがあります。( Galaxy S3ネイティブブラウザを使用)。
ただし、「select」フィールドでフォーカスイベントを手動で起動すると、ネイティブソフトキーボードが表示されません。その後、フィールドをクリックして表示する必要があります。 (もちろん、IOSでは問題なく動作します)。
「フォーカス」イベントによってソフトキーボードが開かない場合、どのJSイベントが発生するのでしょうか。
私は電話ギャップを使用していないので、それなしで方法があることを望んでいます。
助けてくれてありがとう!!!
StackOverflowからのリンクは次のとおりです。
フィールドがJavaScriptを使用して.focus()されている場合にAndroidのソフトキーボードを表示
イベントなしでフォーカスするだけではうまくいかないようです。 -これをトリガーするクリックイベントが必要です。
$(document).ready(function() {
$('#field').click(function(e){
$(this).focus();
});
$('#button').click(function(e) {
$('#field').trigger('click');
});
});
これを行うには、入力でfocus()
を呼び出し、次にclick()
を呼び出します。 jqueryは必要ありません。含まれている要素のonclick()によってスクリプトがトリガーされる場合は、無限ループに注意してください。また、このスクリプトがユーザーの操作によってトリガーされることも確認してください。 document.onload()またはsetTimeout()からは機能しません。また、要素のスタイルを同時に変更するなどの脆弱性もあります。以下のスクリプトは、Chrome for Android 58およびSafari mobile 602.1で動作します。
var target = document.getElementsByTagName("input")[0];
if (event.target != target) {
target.focus();
target.click();
}