是否有任何javascript代码换行可用于等待Jquery加载并在成功加载jquery后创建回调?
类似这样的事情
JqueryWait(function(){
//my magnificent jquery codes ^^
});
我想要一个像这样的代码包装......
说明: 我正在使用headjs,我在一个单独的headjs代码中加载了jquery。现在我的其他脚本依赖于jquery,这就是为什么其他脚本必须知道jquery是否已经加载。我知道headjs的回调函数,但我的其他脚本不能放在回调函数
上答案 0 :(得分:1)
试试这个:
function JqueryWait(fn) {
if (jQuery) fn();
else setTimeout(function() { JqueryWait(fn); }, 100);
}
JqueryWait(function(){
//my magnificent jquery codes ^^
});
答案 1 :(得分:0)
$(function() {
// code jere... jquery is loaded
});
答案 2 :(得分: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>
如果您希望在页面加载后加载jQuery ,则有两个选项。注入一个脚本标记,将jQuery提供给DOM并等待文档加载(如上例所示),或者使用像RequireJS这样的异步加载器(它实际上做了几乎相同的事情但更好地用于许多其他目的)喜欢依赖管理。)
注意:其他答案使用$(function(){})
:
该方法只等待加载DOM,在运行代码之前不会检查jQuery是否存在。
答案 3 :(得分:-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
}