第二个$(文件).ready事件jQuery

Tom*_*Tom 6 html javascript jquery ads blocking

我正在使用一些带有$(document).ready()的外部jQuery在文档就绪事件被触发后插入广告,例如:

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

这是为了防止UI被广告的缓慢加载阻止.到目前为止,它一直运作良好.

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

Thi*_*ker 10

您可以根据需要使用任意数量的事件方法,jquery将它们连接到队列中.方法调用的顺序与定义顺序相同 - 最后添加的是最后调用的.

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


Pim*_*ger 9

是的,添加多个$(文档).ready()s不是问题.所有都将在ready事件上执行.

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

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

文档准备好后将执行该功能.


Óla*_*age 6

这是一个关于多文档就绪的小教程