1

如果我有 2 个使用此声明的函数,则有关 DOM 就绪函数的以下内容:

$(document).ready(function(){my Function here});

现在我应该使用两个标签,一个用于每个函数,还是应该在其中一个标签中声明这两个函数,都在:$(document).ready(function(){my two Functions here});

<script>
    $(document).ready(function(){my Function here});
</script>

谢谢你

4

4 回答 4

2

你可以用两个。它没有害处,这使您可以进行模块化编码。例如,它允许您将相关的代码片段放在一起。

例如,假设您有两个 JavaScript 小部件,它们彼此独立,都在各自独立的文件中,都出现在页面上的不同位置,它们中的任何一个都可能出现在页面上,也可能不出现在页面上。您可以像这样将它们分开,而不是创建一个大杂烩:

<script>
    var ads = {};
    $(document).ready(function(){
        // do something with ads
    });
</script>

<script>
    var tracker = {};
    $(document).ready(function(){
        // do something with tracker
    });
</script>
于 2012-07-02T11:59:32.697 回答
1

您可以$(document).ready()使用不同的功能进行多次调用。它们都将绑定到该事件,除非您包含它们的那一刻是在事件发生之后(通过 AJAX 将它们包括在内$.getScript())。

您不应该将代码直接包含在 HTML 中。

将其粘贴在一个或多个外部文件中,并使用src.

这样他们就可以很容易地被缓存,并且用户不会在每次页面加载时重新下载相同的内容。

您还可以构建不同的就绪文件以实现不同的目的。一是初始化外部插件。一个运行一些事件绑定。一种应用表单验证。

将它们放在不同的文件中意味着您还可以在需要时包含这些文件。商店中的所有页面可能都需要 onReady.ShoppingCart.js,但该商店的 CMS 页面和结账通道上不需要。

于 2012-07-02T12:04:30.027 回答
1

ready()(相对于 inline )的目的onload=""是允许为一个事件绑定多个处理程序。

所以,只使用对你来说最简单/最清楚的,当互联网为摆脱使用内联处理程序而进行了如此多的努力时,禁止自己多次绑定是很愚蠢的。

于 2012-07-02T12:06:28.480 回答
0

使用一个。使代码更易于管理,因此您可以在一个地方查看所有被调用的函数。

于 2012-07-02T11:59:05.567 回答