我收到此错误:
ReferenceError: overlay is not defined
overlay();
我需要访问jquery.vegas
中requireJS内部的方法。我怎么能这样做?
require(["jquery"], function($) {
require(["files/jquery.vegas"], function(jQuery) {
set_overlay = true;
...
function overlay() {
$.vegas('overlay', {
src : 'overlays/10.png'
});
}
});
});
jquery.vegas
(function($) {
function loading() {
if (set_overlay == true) {
overlay();
}
}
})(jQuery);
答案 0 :(得分:0)
简单来说,你不能访问函数overlay
,因为它是匿名函数中的闭包函数。
如果以上代码在您的控制之下,那么我建议您将函数overlay
移动到这两种方法之间的共享上下文
即
function overlay() {
$.vegas('overlay', {
src : 'overlays/10.png'
});
}
require(["jquery"], function($) {
require(["files/jquery.vegas"], function(jQuery) {
set_overlay = true;
...
});
});
(function($) {
function loading() {
if (set_overlay == true) {
overlay();
}
}
})(jQuery);