Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在将脚本标记放置在</车身>;相当于jQuery'的标记;s document.ready方法_Javascript_Jquery - Fatal编程技术网

Javascript 正在将脚本标记放置在</车身>;相当于jQuery'的标记;s document.ready方法

Javascript 正在将脚本标记放置在</车身>;相当于jQuery'的标记;s document.ready方法,javascript,jquery,Javascript,Jquery,如果我们在关闭body之前的脚本标记中调用javascript方法myMethod(),是否等同于在jQuery的document.ready函数中调用myMethod()?如果没有,原因是什么?不,这不一样,您可以将标记放在关闭标记之前,以避免阻止在旧浏览器上呈现html,但您不能保证DOM“就绪”来自: 引擎盖下:$(document).ready()正如您从John那里期望的那样 Resig,jQuery确定DOM何时就绪的方法使用 各种各样的优化。例如,如果浏览器支持 DOMConten

如果我们在关闭body之前的脚本标记中调用javascript方法
myMethod()
,是否等同于在jQuery的document.ready函数中调用
myMethod()
?如果没有,原因是什么?

不,这不一样,您可以将
标记放在关闭
标记之前,以避免阻止在旧浏览器上呈现html,但您不能保证DOM“就绪”

来自:

引擎盖下:$(document).ready()正如您从John那里期望的那样 Resig,jQuery确定DOM何时就绪的方法使用 各种各样的优化。例如,如果浏览器支持 DOMContentLoaded事件(和许多非IE浏览器一样),然后它将触发 关于那件事。但是,在文件被保存之前,IE无法安全地开火 readyState达到“完成”状态,通常在稍后。如果没有 如果这些优化可用,window.onload将触发 事件

这些事件独立于HTML标记中的位置,因为即使在呈现时,其他事件仍在进行<代码>$(文档).ready()对所谓的
DOMContentLoaded
事件作出反应,该事件在加载DOM之后立即触发,并且浏览器知道页面上的所有元素(而不是内容本身)

代码通常放在这些块中的主要原因与防止并行加载的阻塞没有多大关系,而是为了确保在页面加载期间要操作的元素实际加载并显示在DOM树中。操纵浏览器不知道的元素没有多大意义,对吗

将JavaScript内容(或任何其他相关内容)放在页面底部实际上与
onload
事件关系更为密切,该事件在页面完成加载后触发,包括内容本身。无论哪种方式,几乎可以肯定的是
$(document).ready()
块中的内容将在页面底部的块之前执行,但是如果加载
ready()
块中的代码所依赖的外部库,则无法将它们放在页面底部

通常,如果您的代码不依赖于外部库,并且成功加载了DOM,则可以将其安全地放在页面底部。但是,如果在DOM加载之后需要执行的东西,您最希望在 $(文档).Read()/Code >块中得到该代码,但是请记住,您可以将该块放置在任何您想要的地方,甚至在页面的中间(有时可以是一个很好的技巧)。