onClickとfocusの注意点(JavaScript)

ボタン等の要素に付与したonClickイベントでのフォーカス移動について

フォーカスの制御がどうもブラウザによって効かなかったので調べてみるとタイマー処理を入れるとうまく動くと分かった。

HTMLのonClick記述

<a href="javascript:void(0);" onClick="textfocus();}">ボタンリンク</a>

<form name="form1" >
    <input type="text" id="InpTxt" name="s" placeholder="フォーカスしたい対象">
</form>

js部分

function textfocus(){
  setTimeout(function(){
    var element = document.getElementById("InpTxt");
    element.focus();
  },0);
}