可能重复:
What is the difference between these jQuery ready functions?
jquery: Choosing a document.ready method
这样做有什么区别
$(function() {
$("a").click(function(event){
alert("Thanks for visiting!");
});
});
和这个
$(document).ready(function(){
$("a").click(function(event){
alert("Thanks for visiting!");
});
});
答案 0 :(得分:42)
他们是一样的。查看jQuery .ready()
docs。以下是文档的引用:
以下所有三种语法都是等效的:
(文档)$。就绪(处理程序)
$()。ready(处理程序)(不建议这样做)
$(处理程序)
答案 1 :(得分:10)
您的示例之间的功能没有区别 - 它们都绑定到DOM就绪。
作为参考,有两点可以绑定jQuery代码。
第一个将在DOM准备就绪时执行(两者都是等效的):
$(document).ready(function() {
// code
});
$(function() {
// code
});
第二个将在页面加载完所有图像,样式表等时执行。
$(window).on("load", function() {
// code
});
当您需要获取图片的width()
或height()
时,第二个非常有用。这些属性仅在映像完全下载到客户端系统后才可用。
另请注意,$(window).load(fn);
现已弃用,不应再使用。
答案 2 :(得分:7)
以下所有三种语法都是等效的:
$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)