$(回调)和$(文档).ready(函数)之间的区别?

时间:2011-08-15 18:22:44

标签: javascript jquery callback document-ready

在jQuery网站上,$(callback)的描述与$(document).ready(function)的行为相同,但后面的示例显示了两种语法之间的差异。所以我想知道,有没有人确切知道两者之间的差异是什么?

4 个答案:

答案 0 :(得分:7)

没有差异,文档没有任何差异:

  

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

     
      
  • $(文件)。就绪(处理程序)
  •   
  • $()。ready(处理程序)(不建议这样做)
  •   
  • $(处理程序)
  •   

直接来自:http://api.jquery.com/ready/

我认为您对显示jQuery(function($){ ... });的示例感到困惑 这只是一种调用$(handler)的方式,没有$冲突。

IE。

// Here `$` is used by another library
jQuery(function($){
    // Here `$` refers to jQuery
});

答案 1 :(得分:4)

$(document).ready(function() {
  // Handler for .ready() called.
});
  

这相当于调用:

$(function() {
 // Handler for .ready() called.
});

http://api.jquery.com/ready/

答案 2 :(得分:1)

没有任何区别,只是快捷方式稍微慢一些,因为它必须决定参数的类型然后调用$(document).ready。 (实际上jQuery的源代码非常简洁,因此您可以轻松检查自己 - $() calls $.fn.initgoes through a couple of tests然后在第177行调用ready 。)

答案 3 :(得分:0)

没有区别。 如果您只使用一个参数致电$() - 功能:$(some_function) - 这意味着它会调用$(document).ready(some_function)

因此,为简单起见,您可以使用:

$(function(){
// your code
});

P.S。如果使用不同的库(可能与$ variable冲突),请不要使用此结构。在这些情况下使用:

jQuery(function(){
// your code
});