$(function(){....})在JQuery中做了什么?

时间:2014-10-17 15:46:39

标签: javascript jquery

我正在查看一些源代码并看到了这个:

$(function() {
    $('li.link').css('cursor', 'pointer')
    .click(function() {
        window.open ($('a', this).attr('href'));
        return false;
    });
});

有人可以解释一下,选择一个匿名函数吗?我不关心这个功能的主体;我只对$(function() { ...})所做的事感兴趣。

2 个答案:

答案 0 :(得分:2)

它是jQuery中ready()函数的简短表示法。

记录在函数doc-entry:http://api.jquery.com/ready/

  

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

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

还有$(document).on( "ready", handler ),自jQuery 1.8起已弃用......

答案 1 :(得分:1)

如果你看jQuery source code,你会看到以下几行:

// HANDLE: $(function)
// Shortcut for document ready
} else if (jQuery.isFunction(selector)) {
    return typeof rootjQuery.ready !== "undefined" ? rootjQuery.ready(selector) :
    // Execute immediately if ready is not present
    selector(jQuery);
}

所以这是Shortcut for document ready