フォーカスした部分に変化が無い場合やページをリロードする場合がブラウザによってはある。
setTimeoutには文字列より関数自体を渡した方が早いです。
例。
移動する
隙間(1000px)
移動先
↓
移動先。戻る。移動先
↓
説明。
try{ ... }catch(e){} => tryの中身を実行してエラーの場合何も表示しない。少し遅くなる。 setTimeout(..., 170) => 移動の0.17秒後に関数を実行する。 function(){ ... } => フォーカスを実行する部分。
ソース。
<hr /><a href="#javascript-focus-test-001" id="javascript-focus-test-002" onclick='javascript:try{(function(){setTimeout(function(){document.getElementById("javascript-focus-test-001").focus();},170);})();}catch(e){}'>移動する</a><div style="height: 1000px;">隙間(1000px)<br />移動先<br />↓</div><a href="#javascript-focus-test-002" id="javascript-focus-test-001" onclick='javascript:try{(function(){setTimeout(function(){document.getElementById("javascript-focus-test-002").focus();},170);})();}catch(e){}'>移動先。戻る。</a><hr />
0 件のコメント:
コメントを投稿