关于jQuery的$(文档).ready及其使用的几个问题

时间:2011-10-03 04:08:21

标签: jquery

我一直在写一些基本的Javascripts,我终于屈服于尝试学习jquery(不到24小时)。我在理解语法时遇到了问题,我正在为我的目的调整简单的课程/代码。

是否所有内容都必须包含在单独的$(文档).ready(function())中?

或者只是拥有1 $(document).ready(function())语句并将所有内容填充到其中?包括自定义功能。

当你把一个放在另一个里面时会发生什么?

对于简单的问题很抱歉,但是在线或我的书中的示例都包含了执行代码的声明。

2 个答案:

答案 0 :(得分:3)

通常,您只有一个ready函数可以启动整个页面的事件侦听器,并初始化需要设置的任何对象或者您拥有的对象。

这是一个非常简单的页面,我刚才放在一起有一些照片画廊和其他“复杂”的行为,但你可以看到它都存储在一个只有init期间被init编辑的大页面对象中。文件就绪事件:

http://threeaprons.com/ta.js

所以我所做的是制作一个非常特定页面的大“单身”,而不是其他地方可以重复使用(IE另一个网站或者你有什么)。这封装了整个站点的行为,当DOM为事件监听器等做好准备时,只需要{{1}}。

答案 1 :(得分:0)

$(document).ready(function())有一个目的。

目的是延迟执行代码内部的代码,直到页面完全加载,然后在页面到达该状态时立即运行它。只有期望检查/修改页面初始状态的初始化代码(因此必须在检查之前等待它被加载)才需要在该函数内部。

以后运行或调用的其他代码段不必位于document.ready块中。

您可能拥有一个或多个document.ready块 - 这完全取决于您希望如何组织代码。如果我的所有代码都支持一个应用程序并且只有很少的文件集,我可能只有一个document.ready块并将任何初始化代码放在该块中。如果我有独立的模块,我希望能够独立并轻松地在其他项目中使用,那么我可以为每个模块使用单独的document.ready块,以使代码的组织更加独立。

没有正确或错误的方法 - 它只取决于您希望/需要如何组织代码。