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 を使用しています。
これで、フォーカスが解除されます。