加载所有脚本文件后,jQuery 中的 $().ready() 是否会触发?

shr*_*eyj 1 javascript jquery

我在不同的 js 文件中声明全局变量,然后在不同的文件中使用。在开始执行之前,我需要确保所有 js 都已加载。我也在尝试使用 require.js 转向模块化 js。但现在我需要一个快速的解决方案。在 .js 下运行我的 js 代码安全 $().ready()吗?我猜脚本标签将被同步加载,因此在所有脚本都加载完毕之前,DOM 不会准备好。

或者确实$(window).load()保证所有脚本文件都已加载。

谢谢!

Joh*_*ohn 5

如果您内联加载脚本,则在加载这些脚本之前 DOM 不会准备好,因此 $().ready() 函数在加载这些资源之前不会触发。如果您async在脚本元素中使用标记,则 DOM 可能会在脚本资产加载之前被归类为就绪,具体取决于脚本文件的大小。

但是 $().ready() 现在被 jQuery定义为不推荐使用,所以使用 $(function(){}) 代替。