やりたいこと
画面を表示した際にinputタグにオートフォーカスさせたい
問題点
PC,スマホ(android)はオートフォーカスできるようになったが、ipad,iPhoneなどのios関連のブラウザではオートフォーカスされていない
<div class="col-lg-8 col-sm-8"> <%= form.text_field :book_id, value: @search_params[:book_id].presence, class: 'form-control' %> <script> window.onload = function(){ var target = document.getElementById("book_id"); target.focus(); } </script> </div>
試したこと
1.inputタグにautofocusを指定。
<%= form.text_field :book_id, value: @search_params[:book_id].presence, class: 'form-control' autofocus="true" %>
2.画面表示後に時間差をつけて、フォーカスするように指定。
<div class="hidden" style="height: 0px;"> <button id="focus-button">Start clicking</button> </div> <script type="text/javascript"> var start = document.getElementById('focus-button'); var input = document.getElementById('book_id'); input.addEventListener('focusin', function(event) { console.log('focus'); console.log(event); }); button.addEventListener('click', function() { var t = setTimeout("input.focus();",500); }); </script>
いろいろと調べてみましたが、自分では、これ以上は思いつきませんでした。
ipadで画面表示時にフォーカスできる方法があればご教示いただきたいです。
あなたの回答
tips
プレビュー