2017-09-06 110 views
1

有什么用

$(function(){ 
}); 

$(document).ready(function(){ 
}); 

试过在两者之间的区别,无论是工作得很好,但在运行时会发生什么。

+1

*更好*取决于个人的经验,从而使这个问题的主要意见。如果你有特定的问题,通过一切手段编辑你的问题来反映这一点。 – Script47

+0

他们是一样的,阅读官方文档[文档就绪](https://learn.jquery.com/using-jquery-core/document-ready/) – Satpal

+0

如果我记得很清楚,它是完全一样的。首先是更短。 – TGrif

回答

1

两者完全相同,但第二种形式不推荐在jQuery v3中使用。请参阅文档中的herehere。从第二个链接开始:

jQuery提供了几种附加DOM准备就绪的函数的方法。以下所有的语法是等效的:

$(handler) 
$(document).ready(handler) 
$("document").ready(handler) 
$("img").ready(handler) 
$().ready(handler) 

在jQuery 3.0,仅建议所述第一语法;其他语法仍然有效,但不推荐使用。

+0

呃? '$(“img”)。ready'如何等于'$(document).ready'?我错过了什么?为什么'img'? –

+1

@JeremyThille:因为jQuery对象的内容完全**被'ready'忽略;请参阅以'jQuery.fn.ready ='[在未定义文件](https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js)开头的代码。就个人而言,我更喜欢文档中没有包含该示例(并且在包含除“文档”之外的任何内容的集合上使用'ready'),但是...他们没有向我咨询。 ;-) –

+0

哇,我不知道。那么如果这个论点完全被忽略了,为什么还要在第一个地方写文档或其他东西呢?奇怪的。 –

0

1。== >> $(document).ready(function(){ }); - 这是为了防止在文档加载完成之前运行任何jQuery代码。 - 这也可以让你在你的文档的正文之前的头部分中有你的JavaScript代码。 (函数(){

}); - 这是文档就绪事件的较短方法。

这两种方法都可行,但文档就绪事件在阅读代码时更易于理解。

相关问题