2012-09-26 54 views
0

可能重复:
What is the difference between these jQuery ready functions?
Are $(function(){}); and $(“document”).ready(function(){}); the same?
start javascript code with $(function, etc

今天,在查看一些javascript代码的同时,我发现代码的某些部分写在$(function() { })部分,而代码的其他部分在0的内部一。所以我的第一反应是:好的,有什么区别?

有点谷歌上搜索我的发现后,在jQuery的教程Getting Started with jQuery下一条语句:

以下是为$(文件)。就绪(回调)符号的快捷方式:

$(function() { 
    // code to execute when the DOM is ready 
}); 

现在,问题是:是$(function() { })确切等价于$(document).ready(function() { })

(还有一个“全局少”间接的问题是:?是安全的,我的两个部分之一把所有的代码,在短短)

+0

如有疑问,请参阅API网站。http://api.jquery.com/ready/ –

+0

下次在发布问题之前,请至少做一些调查。您可以通过[googling](https://encrypted.google.com/search?q=site:stackoverflow.com+jquery+document+ready+vs+%24)或[查看源代码](https://github.com/jquery/jquery/blob/c3b1367f4c19abf12eadc1460a37dc34ae765e1b/src/core.js#L157)。 –

+0

对不起,我发誓当我搜索答案时没有出现重复问题。这个问题应该关闭重复... –

回答

5

是的,$(function() { })$(document).ready(function() { })的简写。

所有这三个如下语法是等价的:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

.ready() reference

1

(function() { })$(document).ready(function() { })可以互换使用,它取决于我们选择我们喜欢的。通过代码时,我觉得$(document).ready(function() { })模式可以阅读和理解。

-1

是的,他们是完全一样的,是的,将两者都放在同一个块上是安全的(假设它们之间没有任何关联)。

相关问题