Internet Explorerでdisableな要素に対してfocusを設定しようとすると、以下のようなエラーが発生する。
- フォーカスをコントロールに移動できません。コントロールは表示されていない、使用できない状態、またはフォーカスを受け入れない種類です。
またdisableでなくても、style="display:none"みたいに要素は存在するが、非表示にしているような場合も同様のエラーが発生する。対処としては、対象の要素がdisableでない、かつ、非表示でないことを確認してから.focus()メソッドを呼び出す必要がある。
サンプルコード
<html> <SCRIPT language="JavaScript"> function hoge() { document.getElementById("b2").focus(); } </SCRIPT> <body> <input type="button" id="b1" value="ボタン2にフォーカスをあてる" onclick="hoge();"> <input type="button" id="b2" value="ボタン2" disabled> </body> </html>