在jQuery的$(document).ready()上执行JavaScript函数,并将其包含在正文末尾的脚本标记中的HTML中有什么区别?
谢谢,
DLiKS
答案 0 :(得分:7)
<script>
标记内的JavaScript代码会立即被评估(执行)。请注意,在这种情况下,页面尚未(完全)解析,并且DOM尚未准备就绪。
jQuery ready()
回调中的JavaScript代码在DOMContentLoaded事件上进行评估,该事件发生在浏览器解析整个HTML源代码之后。
关于此活动: https://developer.mozilla.org/en/Gecko-Specific_DOM_Events
请注意,定义就绪处理程序的现代方法是:
$(function() {
// code
});
另外,请查看此SO问题,该问题指出当您不使用现成回调时会发生什么:How many JavaScript programs are executed for a single web-page in the browser?
答案 1 :(得分:3)
答案 2 :(得分:1)
此SO question可能会有所帮助。
如果你在一个放在关闭身体标签(</body>
)旁边的脚本中调用一个函数,那就像在$(document).ready(function(){});
部分中使用<head>
一样。