2013-09-25 99 views
1

我必須在我的項目中定義不同的函數,它們都依賴於jQuery,所以我必須確保它們在文檔就緒函數內。當我把它們放在那裏時,我得到下面描述的錯誤。這怎麼解決? jQuery庫似乎被正確包含。未捕獲ReferenceError:checkAvailability未定義

<head>

<script src="js/lib/jquery-2.0.3.min.js"></script> 

的Javascript:

$(document).ready(function() { 
    function checkAvailability() { 
     ... 
    } 
}); 

當我嘗試以後訪問的功能,我得到這個錯誤:

Uncaught ReferenceError: checkAvailability is not defined 
+1

可能重複http://stackoverflow.com/questions/1055767/why-can -i-not-define-functions-in-jquerys-document-ready – Greenhorn

+1

什麼時候你打電話給'checkAvailability' –

+0

更好把這個功能放在'doc ready'之外 – Jai

回答

0

這是一個範圍界定問題。 ..

$(document).ready(function() { 
    function checkAvailability() { 
     ... 
    } 

    checkAvailability() // can be called here as the definition is in scope 
}); 

checkAvailability() // Can't be called here 

取而代之的是,你的函數jQuery的方法外...

function checkAvailability() { 
    ... 
} 

$(document).ready(function() { 

    checkAvailability() // can be called here 
}); 
checkAvailability() // Or here 

思考的函數聲明範圍中的相同方式將變量聲明。

0

我認爲你必須把你的所有事件的行動在doc ready處理程序和功能,你可以把它外面:

function checkAvailability() { 
    ... 
} 

$(document).ready(function() { 
    your click event should be here.... 
}); 
相關問題