在jQuery网站上,$(callback)
的描述与$(document).ready(function)
的行为相同,但后面的示例显示了两种语法之间的差异。所以我想知道,有没有人确切知道两者之间的差异是什么?
答案 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.
});
答案 2 :(得分:1)
没有任何区别,只是快捷方式稍微慢一些,因为它必须决定参数的类型然后调用$(document).ready
。 (实际上jQuery的源代码非常简洁,因此您可以轻松检查自己 - $()
calls $.fn.init
,goes 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
});