在jQuery中,我应该将所有代码放在一个.ready()事件中还是多个?

时间:2012-01-02 20:15:25

标签: jquery coding-style

我想知道什么是jQuery的最佳编程实践。大多数jquery操作似乎需要包含在.ready()中,否则它不起作用。如果我有一堆我想要编码的动作,我可以将它们全部放在一个大的.ready()中。我一直在做的是为每个函数创建一个新的.ready()因为我觉得这是复制和粘贴函数的最简单的方法,如果我想将它重用于另一个网站。但我认为这有点失控。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以通过文档对象模型(简称:DOM)访问页面的HTML和CSS。 jQuery简化了对DOM的访问。当页面加载时,它也需要一些时间,直到DOM完全加载并准备就绪。

如果您尝试在DOM准备好之前访问它,您的代码将无法正常运行。 $(document).ready()在DOM准备就绪时执行一个函数,你可以正确地访问它。

您不需要其中的几个事件。作为$(document).ready()的参数的一个函数是enoug。

$(document).ready(function(){
   // Put all the code that needs the DOM to work in here
});

答案 1 :(得分:0)

原因代码是用.ready()编写的,如果代码使用DOM树。在这种情况下,它应该在加载DOM之后执行,这可以在document.ready中,也可以在结束标记之前的脚本中执行。为了不依赖脚本标记所在的位置,代码在文档就绪时执行。

至于你的代码,最好将它放在函数中,并调用document.ready中的函数,而不是将整个实现放在那里。

如果没有实际代码,很难提供更多建议。