Pat*_*ney 10 jquery dom document-ready
我已经看到了四种不同的方法来告诉jQuery在文档准备好时执行一个函数.这些都是等价的吗?
$(document).ready(function () {
alert('$(document).ready()');
});
$().ready(function () {
alert('$().ready()');
});
$(function () {
alert('$()');
});
jQuery(function ($) {
alert('jQuery()');
});
Run Code Online (Sandbox Code Playgroud)
geo*_*wa4 13
没有区别.
$是一样的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;
Run Code Online (Sandbox Code Playgroud)
同样来自源代码,以备份之前的对话:
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) )
return jQuery( document ).ready( selector );
Run Code Online (Sandbox Code Playgroud)
这应该是社区维基.我一直对jquery的内部工作感兴趣,现在我有借口开始寻找:-)