0

我是 jQuery 新手,来自 Python 和 Java 背景,所以我很难习惯跨不同 .js 文件工作的方式。我有一个导入以下脚本的 HTML 文件:

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script
        src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js"></script>
    <script src="{{ STATIC_URL }}/forms.js"></script>
    <script src="{{ STATIC_URL }}/workout1Alt.js"></script>

最后两个是我的。在 forms.js 中,我有一个通用函数 ,validateNumberForm我希望能够在我更具体的workout1Alt.js表单中使用它。表单的签名如下所示:

var validateNumberForm = function(id)

我像这样调用validateNumberFormin workout1Alt.js

validateNumberForm('#squatsForm');

但我得到这个错误:

Reference Issue: Cannot find variable validateNumberForm. 

有人可以告诉我如何做这样的事情的最佳实践吗?

4

1 回答 1

1

我猜你正在将定义包装在一个 jQuery 就绪处理程序中,如下所示:

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    // ...
});

这使得validateNumberForm只有在那里可用。如果您希望它可用于其他文件,您可以将其移出就绪处理程序:

var validateNumberForm = function(id) { /* ... */ };
$(function() {
    // ...
});

或者您可以显式导出它:

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    window.validateNumberForm = validateNumberForm;
    // ...
});
于 2013-03-24T21:35:07.773 回答