以下jQuery片段的最终结果是否相同?
片段1:
$(function() { alert('test!'); });代码片段2:
$(document).ready(function() { alert('test!'); });换句话说,$(function(){})仅仅是$(document).ready(function() { });的缩写吗?
我之所以问这个问题,是因为我们看到了一个使用jQuery和jQuery UI构建的小应用程序存在一些奇怪的问题。偶尔,当通过单击按钮执行表单提交操作时,浏览器窗口只会冻结。在执行一些操作之前,我们仍然可以使用底层浏览器窗口(启动弹出窗口的窗口)。用户只能通过强制关闭浏览器(显然是Internet)才能继续。我们怀疑这与Acrobat插件有关,但我只是检查这里的所有角度,因为我发现本期似乎表现出类似的行为。
发布于 2011-04-22 12:32:06
是的,它们是等价的。请参阅此链接以获得参考http://api.jquery.com/ready
发布于 2011-04-22 09:49:26
以下三种语法都是等价的:
$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)混叠jQuery名称空间
在使用另一个JavaScript库时,我们可能希望调用$.noConflict()以避免命名空间困难。当调用此函数时,$快捷方式不再可用,迫使我们每次编写jQuery时都要编写$。但是,传递给.ready()方法的处理程序可以使用一个参数,该参数被传递给全局jQuery对象。这意味着我们可以在.ready()处理程序的上下文中重命名对象,而不会影响其他代码:
jQuery(document).ready(function($) {
// Code using $ as usual goes here.
});发布于 2011-04-22 09:51:43
$(function(){})和$(document).ready(function() { })是完全相同的。
https://stackoverflow.com/questions/5754192
复制相似问题