2

非常に興味深い問題に直面しました。Javascriptを使用して入力フィールドにフォーカスを設定しようとしています(jQueryはありません。それも試しましたが、うまくいきませんでした) window.onLoad

このフィドルを見てください:setFocusOnLoad

Chrome ブラウザでは正常に動作しますが、Firefox では動作しません。Firefox に問題はありますか? どうすれば解決できますか。

編集:
ここに、html ファイルにコピーしたコードを示します。

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function onloadFocus(){
                var name = document.getElementById('name');
                //        name.value='window.onload called';
                name.focus();


            }

            window.onload=onloadFocus();
        </script>
    </head>
    <body>
        <div><input type='text' value='' id='name' name='name'></div>
    </body>
</html>
4

4 に答える 4

6

わずかな遅延を追加してみてください:

function onloadFocus(){
    setTimeout(function() {
        document.getElementById('name').focus()
    }, 10);
}

jsFiddle を更新する

于 2012-09-22T10:26:18.533 に答える
0

関数呼び出しを関数にラップする必要があります。そうしないと、onLoad ではなく、すぐに呼び出されます (この時点ではまだ入力は不明です)。

window.onload=function(){onloadFocus();}
于 2012-09-22T10:54:21.313 に答える
0

onloadFocusの場合、すぐに実行され、その時点で入力フィールドが使用できない可能性があるため、window.onload=onloadFocus;代わりに使用する必要があります。window.onload=onloadFocus();window.onload=onloadFocus();

jsfiddle

于 2012-09-22T11:16:38.023 に答える