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
感謝。
它看起來像你在加載DOM之前調用函數。在文檔準備好之後嘗試調用你的函數 –
我嘗試使用'$(function(){...})',它是'$(document).ready(function(){...})'的簡寫。你認爲這是問題嗎? – SuperManEver
好,我遇到了同樣的錯誤,但不同的原因,
我沒有在「}」和「)之間插入」()「;」在spa對象定義的最後。
來源
2016-01-05 11:09:49 benzford
由於它幾乎是*相同的錯誤,你認爲這可能是解決OP問題的解決方案嗎? – dakab