Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery已经准备好了_Javascript_Jquery - Fatal编程技术网

Javascript Jquery已经准备好了

Javascript Jquery已经准备好了,javascript,jquery,Javascript,Jquery,是否有任何javascript代码包装可用于等待Jquery加载并在成功加载Jquery后创建回调 像这样的 JqueryWait(function(){ //my magnificent jquery codes ^^ }); 我想要一个像这样的代码包装 说明: 我使用的是headjs,我在单独的headjs代码中加载了jquery。现在我的其他脚本依赖于jquery,这就是为什么其他脚本必须知道jquery是否已经加载的原因。我知道headjs的回调函数,但是我的另一个脚本不能放在回

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

像这样的

JqueryWait(function(){
   //my magnificent jquery codes ^^
});
我想要一个像这样的代码包装

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

$(function() {
// code jere... jquery is loaded
});

更多信息:

执行此操作不需要额外的功能。jQuery的
$(document).ready(function(){})就足够了

$(function() {
    //ever code written inside here is run, after the jQuery & DOM is ready
});
另外,还有另一种方法可以检查jQuery是否已加载

if (typeof jQuery == 'undefined') {
   //... jquery not loaded
}
试试这个:

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

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

只要您在文档中将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>

if(typeof jQuery==“未定义”){
write(unescape(“%3Cscript src=”/js/jquery-1.7.2.min.js”type='text/javascript'%3E%3C/script%3E”);
}
通过

如果希望在页面加载后加载jQuery,则有两个选项。将脚本标记sourcing jQuery注入DOM并等待文档加载(如上面的示例),或者使用异步加载程序(这实际上做了几乎相同的事情,但更适合用于许多其他用途,如依赖关系管理)

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


该方法只等待DOM加载,在运行代码之前不会检查jQuery是否存在。

这似乎不是一个很好的理由。也许更多的人通过.ready()知道它。也许另一点是确保在调用它之前加载jquery,即加载和评估脚本的基本规则。$是jquery,我想知道是否加载了jquery。我没有否决它,但它忽略了问题的重点(所有建议$()的答案也是如此)。OP想知道jQuery何时准备就绪,而不是文档何时准备就绪(即何时可以调用
$
。@Starx:polling似乎是唯一的方法,我认为OP是在加载页面后加载jQuery。或者是为了一个通用汽车的剧本,请留下评论,你是在投反对票。谢谢,您没有抓住问题的重点-如果您在加载jQuery之前(即,
$
分配了值之前)调用
$()
,用户将收到一个错误。$是jQuery,我想知道是否加载了jQuerynot@Mahan,$不是jquery,一旦加载jquery,它就被分配为jquery对象。
$(…)
不等待任何东西,它会立即被调用。传递给它的函数在jQuery认为DOM已加载时被调用。它仍然等待DOM执行该函数,这是我的意思,而不是等待jQuery。