5

知道这听起来像是一个愚蠢的问题,但是当我通过示例学习 jQuery 时,我发现脚本和函数的位置因示例而异。举个例子,在某处我读到 .onReady 函数应该放在其他所有内容的下方,以确保整个 DOM 实际准备就绪,以及这种性质的事情。

问题很简单,除了明显的脚本标签之外,是否有关于 PHP 文件 jquery 应该位于何处的最佳实践?一次性内联脚本呢?对于这种天真的性质感到抱歉,但我会以“正确”的方式尝试这些示例,因为我想知道如何将它们组合在一起。

这个网站似乎有一些非常有见地的人做出贡献,所以提前感谢任何指导!:)

显然,它并不像我想象的那么愚蠢——感谢大家的见解——我对我试图从大局中理解的内容有了更清晰的认识。

4

4 回答 4

8

AFAIK,没有.onReady

也许你指的是$(document).ready()

的重点.ready()是等待元素准备好。在这种情况下,文档。因此,在文档准备好之前,其中的任何内容都不会被执行。因此,您可以将其放在任何您想要的地方。

但是,至于链接到 JS 文件的位置,出于性能原因,您希望在文档底部执行此操作:

http://developer.yahoo.com/performance/rules.html

于 2012-05-24T17:00:53.900 回答
4

不了解 PHP,但是将每个 onReady 代码放在底部 “以确保整个 DOM 实际就绪”的指令 是错误的

ready 事件的全部意义在于,您可以将它放置在您想要的任何地方,并且它仍然可以工作。

例子:

$('#foo').val() // undefined - the DOM isn't ready yet.

$(document).ready(function(){
    $('#foo').val() // bla - the DOM is ready now.
});
<input id="foo" value="bla" />

现场演示

请注意,$(callbackFunction)等于详细语法$(document).ready(callbackFunction);

你应该阅读ready文档

于 2012-05-24T17:01:08.887 回答
2

您应该<script type="text/javascript"></script>在关闭<body>页面标签之前包含您的标签。这将确保您在上面加载页面的所有静态部分。

于 2012-05-24T17:00:23.537 回答
0

准备好的指令允许您将您的 javascript 代码放在任何地方。只有当文档准备好时才会执行。

语法如下:

$(document).ready(function() {
  // Put your code here.
});

或者这个:

$(function() {
 // Put your code here.
});

但要做出选择,出于性能原因,更喜欢页面底部,就在关闭</body>之前。

于 2012-05-24T17:04:49.513 回答