YepNope键值对未按预期执行

时间:2012-03-06 12:54:52

标签: javascript asynchronous modernizr yepnope

我开始学习YepNope并有一个类似的脚本:

yepnope([
      {
        load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js',
      },
      {
        test: true,
        yep: {
          'jquery-ui' : 'js/jquery-ui.js',
          'jquery-expandable' : 'js/jquery.expandable.js',
          'triggers' : 'js/triggers.js',
          'prettify' : 'js/prettify/prettify.js'
        },

        callback: { 
          'prettify': function (url, result, key) {
              console.log(key + ' loaded ' + result);
              prettyPrint();
          }
        }

      }
     ]);

我只需要回调美化。但是,运行上述操作会将控制台日志显示为已成功加载,但尚未定义prettyPrint()。

如果我为其他键分配空白函数回调,例如:

  yepnope([
      {
        load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js',
      },
      {
        test: true,
        yep: {
          'jquery-ui' : 'js/jquery-ui.js',
          'jquery-expandable' : 'js/jquery.expandable.js',
          'triggers' : 'js/triggers.js',
          'prettify' : 'js/prettify/prettify.js'
        },

        callback: { 
          'jquery-ui': function(url, result, key) {

         },
         'jquery-expandable': function(url, result, key) {

         },
        'triggers': function (url, result, key) {

        },
        'prettify': function (url, result, key) {
             console.log(key + ' loaded ' + result);
             prettyPrint();
        }
      }

    }
  ]);

这确实有效。因此,当使用这种语法时,我们是否必须为每个回调指定一个键,即使我们不需要特定键的回调?或者这是YepNope中的错误?我也可以在Modernizr.load版本的脚本中重现这一点。

0 个答案:

没有答案