-3

是否有任何 javascript 代码包装可用于等待 Jquery 加载并在成功加载 jquery 后创建回调?

像这样的东西

JqueryWait(function(){
   //my magnificent jquery codes ^^
});

我想要一个像这样的代码包装......

说明:我正在使用 headjs,并且我在 headjs 的单独代码中加载了 jquery。现在我的其他脚本依赖于 jquery,这就是为什么其他脚本必须知道 jquery 是否已经加载。我知道headjs的回调函数但是我的其他脚本不能放在回调函数上

4

4 回答 4

1

试试这个:

function JqueryWait(fn) {
    if (jQuery) fn();
    else setTimeout(function() { JqueryWait(fn); }, 100);
}

JqueryWait(function(){
   //my magnificent jquery codes ^^
});
于 2012-04-30T04:18:37.803 回答
0
$(function() {
// code jere... jquery is loaded
});

更多信息:http ://api.jquery.com/ready/

于 2012-04-30T04:12:19.407 回答
0

只要您在文档中将 jQuery 文件放在 javascript 文件之前(是否将两个文件放在一个.js文件中都没有关系),就应该在代码开始之前加载 jQuery。否则,jQuery 没有正确加载。您可以使用此后备方法检查脚本中的 jQuery:

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-1.7.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>

通过CSS 技巧

如果您希望在页面加载加载 jQuery ,您有两种选择。将 jQuery 的脚本标签注入到 DOM 并等待文档加载(如上面的示例),或使用RequireJS之类的异步加载器(老实说,它做的事情几乎相同,但更适合用于许多其他目的,如依赖管理) .

注意:其他答案使用$(function(){})

That method only waits for the DOM to load, it does not check for the existence of jQuery before running code.

于 2012-04-30T04:23:07.863 回答
-1

你不需要额外的功能来做到这一点。jQuery$(document).ready(function() { });就足够了。

$(function() {
    //ever code written inside here is run, after the jQuery & DOM is ready
});

Anways,还有另一种方法可以检查 jQuery 是否已加载

if (typeof jQuery == 'undefined') {
   //... jquery not loaded
}
于 2012-04-30T04:15:21.390 回答