2013-10-30 39 views
0

加載比方說,我們有以下頁面運行時從外部JS文件功能:在頁腳

<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

我寧願不包括在01我的.js文件(我認爲這將解決問題),因爲它更加乾淨,可以在頁面的頁腳後面加載HTML。

任何想法如何等待test();運行,直到myFile.js加載?

回答

2

如果您想在其他地方使用,您需要在全局範圍內定義test。另外,如果代碼位於頁腳中,則無需等待文檔準備就緒。

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

<script> 
    //$(document).ready(function() { 
     test(); 
    //}); 
</script>