2015-05-09 201 views
0

我想建立一個簡單的單頁網頁應用程序,我卡住了。我試圖使用module pattern不知道爲什麼我的功能不是一個功能?

var spa = (function() { 
    var initModule = function($container) { 
     $container.html(
      '<h1 style="display:inline-block; margin: 25px;">' 
       + 'hello world!' 
      + '</h1>' 
     ); 
    }; 

    return { initModule: initModule }; 
})(); 

這在理論上應該在這裏調用:

<!doctype html> 
<html> 
<head> 
    <title>SPA Starter</title> 

    <!-- stylesheets --> 
    <link rel="stylesheet" type="text/css" href="css/spa.css" /> 
    <link rel="stylesheet" type="text/css" href="css/spa.shell.css" /> 

    <!-- third-party javascript --> 
    <script src="js/jq/jquery-1.11.3.js">  </script> 
    <script src="js/jq/jquery.uriAnchor-1.1.3.js"</script> 

    <!-- my Javascript --> 
    <script src="js/spa.js">  </script> 
    <script src="js/spa.shell.js"></script> 
    <script> 

     $(function() { spa.initModule($('#spa')); }); 

    </script> 
</head> 
<body> 
    <div id="spa"></div> 
</body> 
</html> 

我試圖做spa.initModule($('#spa'));控制檯,它的工作,但在我的代碼是不是。

當我嘗試運行我提前拿到Uncaught TypeError: spa.initModule is not a function

感謝。

+0

它看起來像你在加載DOM之前調用函數。在文檔準備好之後嘗試調用你的函數 –

+0

我嘗試使用'$(function(){...})',它是'$(document).ready(function(){...})'的簡寫。你認爲這是問題嗎? – SuperManEver

+0

0

好,我遇到了同樣的錯誤,但不同的原因,

我沒有在「}」和「)之間插入」()「;」在spa對象定義的最後。

+0

由於它幾乎是*相同的錯誤,你認爲這可能是解決OP問題的解決方案嗎? – dakab

相關問題