0

次のページがあるとします。

<html>
    <head>
    </head>
    <body>

    <script src="jQuery.js"></script>
    <script src="myFile.js"></script>
    <script>
        $(document).ready(function() {
            test();
        });
    </script>
    </body>
</html>

myFile.js は次のようになります。

$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
});

次に、console.log に次のエラーが出力されます。

Uncaught ReferenceError: test is not defined

HTMLの後にページのフッターにロードする方がきれいなので、.JSファイルを含めないでください<head>(これで問題が解決すると思います)。

test();ロードされるまで、実行を待つ方法myFile.jsはありますか?

4

1 に答える 1

2

test他の場所で使用する場合は、グローバル スコープで定義する必要があります。また、コードがフッターにある場合は、ドキュメントの準備が整うまで待つ必要はありません。

//$(document).ready(function() {
    function test() {
        alert('Hello World!');
    }
    // add it to global scope
    // window.test = test;
//});

<script>
    //$(document).ready(function() {
        test();
    //});
</script>
于 2013-10-30T20:30:05.477 に答える