如何在javascript中修复此错误
我有大量绑定到不同元素的函数 因此,我决定在一个文件中定义所有函数&然后从另一个文件调用 HTML site.js如何在javascript中修复此错误,javascript,jquery,Javascript,Jquery,我有大量绑定到不同元素的函数 因此,我决定在一个文件中定义所有函数&然后从另一个文件调用 HTML site.js $(document).ready(function (e) { GetCustomers(); }); 但这是抛出下面的错误 未捕获引用错误:未定义GetCustomers 没有必要将所有函数包装在$document.ready中,这是您的问题。两个问题: .ready不会自动启动,因此代码不会被执行和删除 因此,不会创建函数 因为您是在中完成的。准备好了吗?不要将函数绑定到
$(document).ready(function (e) {
GetCustomers();
});
但这是抛出下面的错误
未捕获引用错误:未定义GetCustomers
没有必要将所有函数包装在$document.ready中,这是您的问题。两个问题: .ready不会自动启动,因此代码不会被执行和删除 因此,不会创建函数 因为您是在中完成的。准备好了吗?不要将函数绑定到窗口,这样就无法在其他任何地方访问它们。
没有必要将所有函数包装在$document.ready中,这是您的问题。两个问题: .ready不会自动启动,因此代码不会被执行和删除 因此,不会创建函数 因为您是在中完成的。准备好了吗?不要将函数绑定到窗口,这样就无法在其他任何地方访问它们。
从functions.js中删除包装$document.ready从functions.js中删除包装$document.ready
$(document).ready(function (e) {
//like this I have 50+ functions
function GetCustomers()
{
//ajax call.
}
});
$(document).ready(function (e) {
//like this I have 50+ functions
function GetCustomers()
{
//ajax call.
}
});
您可以在ready处理程序中定义函数,使其位于该作用域的本地。将它移到外部,或者干脆扔掉$document.ready,这样它就在全局范围内了。请参阅函数作用域文档
如果不想将所有这些函数添加到全局范围,可以创建一个全局对象,并将其添加为方法:
var app = {
getCustomers: function(){},
...
};
您可以在ready处理程序中定义函数,使其位于该作用域的本地。将它移到外部,或者干脆扔掉$document.ready,这样它就在全局范围内了。请参阅函数作用域文档
如果不想将所有这些函数添加到全局范围,可以创建一个全局对象,并将其添加为方法:
var app = {
getCustomers: function(){},
...
};
将GetCustomers从document.ready函数中拉出 将GetCustomers从document.ready函数中拉出 不要在document ready中使用函数
$(document).ready(function (e) {
function GetCustomers()
{
//ajax call.
}
});
像
<script>
function GetCustomers()
{
//ajax call.
}
</script>
请勿在document ready中使用此功能
$(document).ready(function (e) {
function GetCustomers()
{
//ajax call.
}
});
像
<script>
function GetCustomers()
{
//ajax call.
}
</script>
如果在单独的文件中定义,则不要在document.ready in functions.js intead中使用直接定义函数的GetCustomers。如果在单独的文件中定义,则不要在document.ready in functions.js intead中使用直接定义函数的GetCustomers。将函数写在document.ready之外
<script>
function GetCustomers()
{
//your code.
}
</script>
将您的函数写在文档外。准备好了吗
<script>
function GetCustomers()
{
//your code.
}
</script>
有没有更好的方法来做同样的事情?你可以在外面用。函数GetCustomers{//ajax call.}它正在呈现..谢谢有没有更好的方法来做同样的事情?您可以在外部使用。函数GetCustomers{//ajax call.}正在呈现..添加了ThanksUserful链接。谢谢:还有更好的方法吗。由于这将弹出窗口,因此添加了全局名称空间用户链接。谢谢:还有更好的方法吗。因为这将导致窗口全局命名空间