【问题标题】:Difference between $(callback) and $(document).ready(function)?$(callback) 和 $(document).ready(function) 的区别?
【发布时间】:2011-08-15 18:22:44
【问题描述】:

在 jQuery 站点上,$(callback) 的描述是它的行为与 $(document).ready(function) 相同,但是示例显示了两种语法之间的一些差异。所以我想知道,有人知道这两者之间的区别是什么吗?

【问题讨论】:

  • 你在说什么区别?

标签: javascript jquery callback document-ready


【解决方案1】:

没有区别,文档也没有显示任何区别:

以下三种语法都是等价的:

  • $(document).ready(handler)
  • $().ready(handler)(不推荐)
  • $(处理程序)

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

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

IE。

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

【讨论】:

    【解决方案2】:
    $(document).ready(function() {
      // Handler for .ready() called.
    });
    

    相当于调用:

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

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

    【讨论】:

      【解决方案3】:

      根本没有区别,只是快捷方式有点慢,因为它必须决定参数的类型,然后调用$(document).ready。 (其实jQuery的源代码非常干净,所以你可以很容易地自己检查-$()calls$.fn.init,其中goes through a couple of tests然后在第177行调用ready。)

      【讨论】:

        【解决方案4】:

        没有区别。 如果你只用一个参数调用$() - 一个函数:$(some_function) - 这意味着它将调用$(document).ready(some_function)

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

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

        附:如果您使用不同的库(可能与 $ 变量冲突),请不要使用此结构。在这些情况下使用:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-22
          • 2010-12-11
          • 2019-07-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多