Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript requirejs中的访问方法_Javascript_Jquery_Requirejs - Fatal编程技术网

Javascript requirejs中的访问方法

Javascript requirejs中的访问方法,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我得到这个错误: ReferenceError: overlay is not defined overlay(); 我需要访问jquery.vegas中requireJS内部的方法。我该怎么做 require(["jquery"], function($) { require(["files/jquery.vegas"], function(jQuery) { set_overlay = true; ... function over

我得到这个错误:

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); 

简单地说,您无法访问函数
overlay
,因为它是annonymous函数中的闭包函数

如果上述代码由您控制,那么我建议您将函数
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);