0

このエラーが発生しています:

ReferenceError: overlay is not defined
overlay();

のrequireJS内にあるメソッドにアクセスする必要がありますjquery.vegas。どうやってやるの?

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

1 に答える 1

0

overlay簡単に言えば、無名関数内のクロージャー関数であるため、関数にアクセスできません。

上記のコードがあなたの管理下にある場合、関数overlayをこれら 2 つのメソッド間の共有コンテキストに移動することをお勧めします。

すなわち

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); 
于 2013-06-05T00:50:01.683 に答える