如果jQuery脚本在所有页面HTML之后加载,它们是否还需要$(document).ready?

Kev*_*rke 19 performance jquery footer

如果我在我的所有页面HTML下面加载我的jQuery脚本,我还需要等待$(document).ready能够使用jQuery来查找页面中的元素吗?

Yam*_*iko 6

不,因为文档已经加载了.Dom从上到下加载.我个人喜欢把我所有的j放在页面底部而不是头部.

但它只有一行代码,我建议使用它只是为了安全.你也可以缩短它.$(function() {}是相同的$(document).ready(function(){})


luk*_*012 5

$(document).ready如果脚本位于这些元素下方,则不需要任何与页面上的DOM元素交互的代码.

将它们放在结束</body>标记之前是一种很好的做法.


phi*_*kle 1

不需要使用 jQuery 的ready函数,但编写代码时必须牢记这一点。任何click或其他基于绑定的处理程序可能无法正确附加到选择器,但是其他类似的处理程序live可能$.ajax会按预期运行。

使用脚本加载器或 AMD 使用此方法时要小心。jQuery必须可用,并且加载时必须阻塞。在 head 中加载 jQuery 和其他 deps。

仔细看看这个技术,它描述了 jQuery 的功能不需要使用它(不一定是在页脚中使用):

http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/