我已经看到了四种不同的方法来告诉jQuery在文档准备好时执行一个函数.这些都是等价的吗?
$(document).ready(function () { alert('$(document).ready()'); }); $().ready(function () { alert('$().ready()'); }); $(function () { alert('$()'); }); jQuery(function ($) { alert('jQuery()'); });
geowa4.. 13
没有区别.
$
是一样的jQuery
.如果您查看未经授权的源,您将看到var $ = jQuery = ...
或出现这种情况.
该jQuery
函数检查它的参数类型,如果它是一个函数,它将其视为相同$(document).ready(...)
jQuery
没有参数的调用默认使用document
.所以$()
并且$(document)
完全相同.在Firebug中尝试一下.
没有区别.
$
是一样的jQuery
.如果您查看未经授权的源,您将看到var $ = jQuery = ...
或出现这种情况.
该jQuery
函数检查它的参数类型,如果它是一个函数,它将其视为相同$(document).ready(...)
jQuery
没有参数的调用默认使用document
.所以$()
并且$(document)
完全相同.在Firebug中尝试一下.
re:Geroge IV关于$()== $(文档)正确的评论.从未公开的源(init是内部调用的):
init: function( selector, context ) { // Make sure that a selection was provided selector = selector || document;
同样来自源代码,以备份之前的对话:
// HANDLE: $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) return jQuery( document ).ready( selector );
这应该是社区维基.我一直对jquery的内部工作感兴趣,现在我有借口开始寻找:-)