わかりましたので、これをある程度行う方法を見つけました。Android の Chrome でテスト済み。これが jsFiddle です: http://jsfiddle.net/Twisty/x0tcr5ph/2/
JQuery:
$(document).on("pageshow", "#loginDialog", function () {
// When entering loginDialog
$("label:first").click();
});
$(function () {
$("#startBtn").click(function () {
$.mobile.changePage('#loginDialog', 'pop', true, true);
});
});
HTML:
<div data-role="page">
<div data-role="header" data-theme="b">
<h1>Test Focus onLoad</h1>
</div>
<div data-role="content"> <a href="#" id="startBtn" data-role="button">Login</a>
</div>
</div>
<div id="loginDialog" data-role="dialog">
<div data-role="header" data-theme="b">
<h2>Login</h2>
</div>
<div data-role="content">
<form>
<label for="text1">User</label>
<input type="text" name="login" id="text1" />
<label for="text2">Password</label>
<input type="password" name="pass" id="text2" />
<button type="submit">Submit</button>
</form>
<script>
$("label:first").click(function() {
$("#text1").focus();
});
</script>
</div>
</div>
click()
ログイン ダイアログが開くと、イベントを通じてフォーカスがテキスト ボックスに送信されます。これは、すべての要素がロードされた後に実行さfocus()
れ、キーボードが表示されるため、ユーザーはすぐに入力を開始できます。
を使用して、ページの読み込み時に同様のことができると思われますpagecontainerload
。