$(callback)和$(document).ready(function)之间的区别是什么?

4
在jQuery网站上,$(callback)的描述是它的行为与$(document).ready(function)相同,但示例展示了两种语法之间的一些差异。因此我想知道,有没有人确切地知道这两者之间的区别?

你在谈论什么样的差异? - Felix Kling
4个回答

7
没有区别,并且文档没有显示任何区别:
以下三种语法是等效的:
- $(document).ready(handler) - $().ready(handler)(不建议使用) - $(handler)
来自:http://api.jquery.com/ready/ 我认为你可能会被示例所迷惑,示例中显示了jQuery(function($){ ... }); 这只是一种调用$(handler)的方法,没有$冲突。
即。
// Here `$` is used by another library
jQuery(function($){
    // Here `$` refers to jQuery
});

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

这相当于调用以下内容:
$(function() {
 // Handler for .ready() called.
});

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


1

除了快捷方式需要决定参数的类型并调用$(document).ready,稍微慢一点外,两者没有任何区别。(实际上,jQuery的源代码非常干净,因此您可以轻松自行检查 - $()调用$.fn.init,然后经过几个测试在第177行调用ready。)


0

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

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

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接