2009-04-17 78 views
6

我使用的是$一些外部的jQuery(文件)。就绪()来插入文档准备事件后,广告已经解雇了,是这样的:

$(document).ready(function() { 
    $('#leaderboard').html("<strong>ad code</strong>");  
}); 

这是为了防止广告缓慢加载阻止用户界面。到目前为止,它一直运作良好。

现在我需要通过我们的CMS系统插入一些更多的广告,这不能是外部JS文件的一部分,所以我想知道可以使用第二个文档就绪事件并使用内嵌脚本标记插入它?如果是这样,首先执行外部JS文档就绪事件或内联脚本的顺序是什么?

回答

10

您可以根据需要使用尽可能多的事件方法,jquery将它们加入到队列中。方法调用的顺序与定义顺序相同 - 最后一次调用的是最后一次添加。

一个有用的事情可能是,您可以使用ajax加载带有脚本的html代码,并且当代码加载到DOM $()。ready()时也会被调用,因此您可以动态加载广告。

3

一个额外的jQuery的方式好处是 ,你可以有多个就绪() 定义。所有 jQuery事件都是如此。 (函数(){ alert(“Number One”);});

$(文件)。就绪(函数(){ 警报( “二把手”);

9

是,添加多个$(文件)。就绪()s是不是问题的旨意。在准备事件执行

不过请注意,你的代码示例是错误的$(document)。就绪()接受一个函数,而不是一个表达式所以,你应该给它一个函数是这样的:。

$(document).ready(function() { 
    $('#leaderboard').html("<strong>ad code</strong>");  
}); 

该函数将在第e文件已准备就绪。

+0

ooops yep,只是抓了一些代码来说明检查我在做什么实际上会工作:) – Tom 2009-04-17 10:22:45

1

JQuery按照它们定义的顺序调用ready函数。 如果您想首先加载一些数据并删除执行,请使用holdReady()