[英]jquery - function not defined - calling this function from inline script
我有如下所示的代碼。 從中刪除了不需要的代碼,只寫了所需的內容。 當我從正文中的內聯腳本調用我的toggleFunc時,它在控制台中顯示未定義此功能。 誰能告訴我這有什么問題嗎?
<head>
<script src="~/Client/js/lib/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var pageInitialize = function () {
..doing something here
function toggleFunc() {
..doing something more here
};
};
pageInitialize();
});
</script>
</head>
<body>
<script>toggleFunc()</script>
</body>
在觸發DOMReady之前,不會定義您的兩個函數,這將在運行body
toggleFunc
調用之后發生。 另外, toggleFunc
在pageInitialize
函數內,因此無法在pageInitialize
外部pageInitialize
。
嘗試這個:
<script type="text/javascript">
var pageInitialize = function () {
//..doing something here
};
pageInitialize();
function toggleFunc() {
//..doing something more here
};
</script>
兩個問題:
toggleFunc
不是全局函數。 pageInitialize
是本地的。 如果希望它是全局的,請將其分配給window
。
您正在$(document).ready
回調中定義函數,該函數將在將來的某個時間執行。 您正在$(document).ready
回調函數外部立即調用該函數。 尚未定義。
toggleFunc()
是無法從全局范圍調用的閉包 。
在使用$(document).ready
之前,它甚至在被定義之前就被調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.