这是我的测试代码:
<script type="text/javascript">
YUI({
modules: {
'jquery': {
fullpath: 'script/lib/jquery.min.js'
},
'jquery-blockui': {
fullpath: 'script/lib/jquery.blockUI.js',
requires: ['jquery']
}
}
}).use('jquery-blockui', function(Y, result){
$.blockUI();
});
</script>
当它运行时,有时它工作,有时不起作用。因为 jquery lib 是在 jquery-blockui 之后加载的。
错误如下:
Uncaught ReferenceError: jQuery is not defined
Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'blockUI'
那么,代码有什么问题呢?
如果使用 YUI 加载器加载非 YUI 脚本,则在 YUI 配置中通常需要设置 async: false 以避免此问题。
试试 YUI 3 食谱中的这个食谱:https://github.com/evangoer/yui3-cookbook/blob/master/examples/loading/use_jquery.html