首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$().ready()和$(document).ready()之间有区别吗?

$().ready()和$(document).ready()之间有区别吗?
EN

Stack Overflow用户
提问于 2010-03-05 10:35:52
回答 3查看 4.3K关注 0票数 29

我看过一些代码,它们就是这样做的:

代码语言:javascript
复制
$().ready(function()
{
    ...
});

这比做一个文档选择器要短,但这是一样的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-05 10:37:13

细微的变化:

代码语言:javascript
复制
$(document).ready(function() {});

等于:

代码语言:javascript
复制
$(function() {});

从jQuery 1.4开始:$().ready(function() { });不再在所有情况下都能正常工作。从发行说明中:

从jQuery 1.4开始,如果您没有向jQuery()方法传递任何参数,则将返回一个空的jQuery集。在以前的jQuery版本中,将返回包含文档节点的集合。

票数 34
EN

Stack Overflow用户

发布于 2010-03-05 12:04:22

尼克和贾斯汀在这里得到了正确的答案,但由于我们在这个主题上,我建议在可移植性方面永远不要在全局范围内使用$。有太多的库将其用于自己的目的,如果您需要将它们混合在一起,您可能会遇到兼容性问题。相反,您可以对jQuery就绪处理程序使用可选的第一个参数:

代码语言:javascript
复制
jQuery(function($) {

});

这会将$设置为对该函数范围内的jQuery的引用。

票数 8
EN

Stack Overflow用户

发布于 2010-03-05 10:40:41

根据jQuery API docs,以下三种语法都是等效的:

  • $(document).ready(handler)
  • $().ready(handler) (但这不是recommended)
  • $(handler)

显然,该语法可以工作,但不是推荐使用的语法。

根据jQuery 1.4 Release Notes的说法

在jQuery 1.3中,jQuery()返回一个仅包含文档的jQuery集。在jQuery 1.4中,它返回一个空的jQuery集。这对于创建空集并动态地向其中添加元素非常有用。注意: jQuery().ready()技术在1.4中仍然有效,但已被弃用。请使用jQuery(文档).ready()或jQuery(){})。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2384204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档