1

我必须在我的项目中定义不同的函数,它们都依赖于 jQuery,所以我必须确保它们在文档就绪函数中。当我把它们放在那里时,我得到了下面描述的错误。如何解决这个问题?jQuery 库似乎包含正确。

<head>

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

Javascript:

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

当我稍后尝试访问该功能时,我收到此错误:

Uncaught ReferenceError: checkAvailability is not defined
4

2 回答 2

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

以与变量声明相同的方式考虑函数声明范围。

于 2013-09-25T07:28:44.283 回答
0

我认为您必须将所有事件操作放在doc ready处理程序中,并且可以将其放在外面:

function checkAvailability() {
    ...
 }

$( document ).ready(function() {
  your click event should be here....
});
于 2013-09-25T07:28:56.820 回答