• 締切済み

focusについて

<div style="display:none" > <input type="text" name="test" value=""> </div> 上記のような感じでブラウザー上では確認できない形のテキストフィールドでは javascript のfocus() ではフォーカスできない仕様なのでしょうか

みんなの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

仕様書を読んだわけではないので、あくまで個人的な感覚ですが、focusとは「選択」に近い意味合いだと思います。また、input要素の場合、キャレットの移動を意味するはずです。従って、非表示の要素は選択もキャレットの移動もできないという印象です。というか実際できませんよね。試してないのでわかりませんが、visibility:hiddenならまだなんとなく出来てもおかしくない気がしますが、おそらくそれでも出来ないでしょうね。 どうしてもやりたいなら、position:absolute;z-index:-1;で、他の要素の裏側に回して隠してしまう手もありますね。 ただし、どういう方法であれ、隠し要素はgoogleのガイドラインに触れますね。ご利用は計画的に。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ざっと試してみましたが、たしかにそのような感じですね まぁ見えないinputにフォーカスするという意図がわかりませんが <script> window.onload=function(){ document.getElementById("test1").focus(); document.getElementById("test2").focus(); } </script> <form action=""> <div> <input type="text" name="test1" id="test1" value=""> <div style="display:none" > <input type="text" name="test2" id="test2" value=""> </div> <input type="text" name="test3" id="test3" value=""> <input type="submit" value="go"> </div> </form>

関連するQ&A

専門家に質問してみよう