【问题标题】:Retrieving variables outside of Modernizr.load() complete scope在 Modernizr.load() 完整范围之外检索变量
【发布时间】:2013-06-07 19:28:22
【问题描述】:

我正在使用 Modernizr 加载资源以构建 jQuery 布局。 问题是我无法检索我的 $('body').layout() 变量,因为它位于加载的资源之一(在 script/webframe.js 中)。我试过了:

var myLayout;

function loadDefaultLayout() {

    Modernizr.load([{
        load: ['stylesheets/jquery.layout.css',
                'script/jquery.layout.min.js',
                'script/webframe.js'],
        complete: function () {
            myLayout = onDesktopWebFrameLoadComplete();
        }
    }]);

    alert(myLayout.options.west.resizable);
}

onDesktopWebFrameLoadComplete 在 script/webframe.js 中并返回布局。

我尝试移动警报(myLayout.options.west.resizable);就在 onDesktopWebFrameLoadComplete 之后,警报显示为真。但是当我将它移出 load() 范围时,我有一个未定义的错误(对于 myLayout 变量)。

我的问题是: 我想知道是否可以检索 Modernizr.load() 完整函数范围之外的变量。

【问题讨论】:

    标签: javascript jquery scope modernizr jquery-layout


    【解决方案1】:

    我的问题只是我没有在从 JavaScript 文件调用函数的正确 html 文件中定义我的全局变量。

    总之。在其他一切之前以这种方式定义您的变量:

    window.myLayout;
    

    然后添加将更改变量的资源(包含 load() 函数)

    更改此资源中的变量:window.myLayout = "something-else";

    您现在可以在包含您的资源的 html 文件中使用它。

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2011-12-06
      • 2013-11-26
      • 2011-07-03
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      相关资源
      最近更新 更多