jQuery文档就绪函数

tmb*_*gmn 14 jquery jquery-ui document-ready

以下jQuery代码段的最终结果是否相同?

小片1:

$(function() { alert('test!'); });
Run Code Online (Sandbox Code Playgroud)

摘录2:

$(document).ready(function() { alert('test!'); });
Run Code Online (Sandbox Code Playgroud)

换句话说,$(function(){})只是简写$(document).ready(function() { });

我问的原因是因为我们在使用jQuery和jQuery UI构建的小应用程序中看到了一些奇怪的问题.有时,通过单击按钮执行表单提交操作时,浏览器窗口将冻结.我们仍然可以使用底层浏览器窗口(启动弹出窗口的窗口),直到我们在那里执行某些操作.用户只能通过强制关闭浏览器(显然是Internet Explorer)继续.我们怀疑这与Acrobat PDF插件有关,但我只是在这里查看所有角度,因为我发现这个问题似乎表现出类似的行为.

And*_*ich 11

以下所有三种语法都是等效的:

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)
Run Code Online (Sandbox Code Playgroud)

别名jQuery命名空间

当使用另一个JavaScript库时,我们可能希望调用$ .noConflict()来避免名称空间困难.当调用此函数时,$快捷方式不再可用,每次我们通常写$时都会强制我们编写jQuery.但是,传递给.ready()方法的处理程序可以接受一个参数,该参数传递给全局jQuery对象.这意味着我们可以在.ready()处理程序的上下文中重命名对象,而不会影响其他代码:

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});
Run Code Online (Sandbox Code Playgroud)


dma*_*cco 8

是的,他们是等同的.请参阅此链接以供参考.ready()


Jat*_*tra 5

$(function(){})并且$(document).ready(function() { })是相同的。