IE の showModalDialog で開いたウィンドウは、 先頭のリンクやフォームに、 自動的にフォーカスがセットされてしまいます。
ページが読み込まれたときに 下のようになります。
この状態で [Enter]キーを押すと、 当然このリンクをクリックしたことになってしまいます。 また、JavaScript で
window.scrollTo(0, xx);
のようなスクロール操作を行っても フォーカスがセットされたオブジェクトが 隠れるようなスクロールはさせてくれません。
対処方法の 1つとして、 次のように showModalDialog で開いたウィンドウの onload イベントで、 ウィンドウ全体にフォーカスを当て直します。
<script> if (window.attachEvent) { window.attachEvent("onload", function() { window.focus(); }); } </script> </body> </html>
IE 用の対策なので window.attachEvent を使用しています。
これで、フォーカスが解除されます。