我有一个main.js
带有方法的文件:
;(function ($, window, document, undefined) {
'use strict';
var testing = function(d) {
//irrelevant code
};
})(jQuery, window, document);
在我的HTML中,</body>
我已经在之前,之后jquery.js
引用过main.js
它:
<script src="/Scripts/jquery-2.1.4.js"></script>
<script src="/Scripts/main.js"></script>
然后是一个内联脚本,需要调用以下testing
函数main.js
:
<script type="text/javascript">
( function($) {
$( document ).ready(function() {
var data = [];
//..data is then populated and the function is called
testing(data);
});
} ) ( jQuery );
我在网上收到以下错误 testing(data);
未捕获的ReferenceError:未定义测试
为什么会发生这种情况,我该如何解决?如果我的方法错误,那是正确的方法?
PS这是一个ASP.NET MVC项目
您的main.js
文件正在调用匿名函数,该testing
函数在该范围内定义了您的函数。该功能完成后,testing
将不再存在。
因此,您有两种选择。
移动testing
到全球范围
//main.js
function testing(d) {
//irrelevant code
};
testing
与您的其他JS一起移动。
<script type="text/javascript">
(function($) {
function testing() {
...
}
$(document).ready(function() {
// call testing here
});
})(jQuery);
</script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句